{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "considerable-disco",
   "metadata": {
    "id": "considerable-disco"
   },
   "source": [
    "## Building a Simple Decision Tree\n",
    "\n",
    "In this tutorial we'll build a machine learning model that classifies molecules as soluble or insoluble.  After building the model, we'll visualize the results.  "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a8df1c2b",
   "metadata": {
    "id": "a8df1c2b"
   },
   "source": [
    "### Software Installation\n",
    "One of the Python libraries [dtreeviz](https://github.com/parrt/dtreeviz) that we are going to install requires the installation of a program called [graphviz](https://graphviz.org/).  We can use [apt-get](https://help.ubuntu.com/community/AptGet/Howto) to install graphviz."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "77dc7188",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-05T22:10:50.527589Z",
     "start_time": "2025-05-05T22:10:50.525147Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "77dc7188",
    "outputId": "42a6b146-537c-413a-93d6-7f44de4d065f"
   },
   "outputs": [],
   "source": [
    "%%capture\n",
    "import sys\n",
    "IN_COLAB = 'google.colab' in sys.modules\n",
    "if IN_COLAB:\n",
    "    !apt-get install graphviz"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dc5e22ed",
   "metadata": {
    "id": "dc5e22ed"
   },
   "source": [
    "Install the necessary Python libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "195fbe56",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-05-05T22:10:52.925436Z",
     "start_time": "2025-05-05T22:10:52.922639Z"
    },
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "195fbe56",
    "outputId": "23df3158-2f65-4354-ec06-25a116f4baf3"
   },
   "outputs": [],
   "source": [
    "%%capture\n",
    "if IN_COLAB:\n",
    "    !pip install dtreeviz rdkit PyTDC scikit-learn pandas"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b0ae2059",
   "metadata": {
    "id": "b0ae2059"
   },
   "source": [
    "### Setup\n",
    "Import the necessary Python libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "monthly-valuable",
   "metadata": {
    "id": "monthly-valuable"
   },
   "outputs": [],
   "source": [
    "from rdkit import Chem # basic cheminformatics\n",
    "from rdkit.Chem.Descriptors import MolWt, MolLogP, NumAromaticRings, NumHDonors, NumHAcceptors\n",
    "import math #needed for log10\n",
    "import seaborn as sns #plotting\n",
    "from sklearn.tree import DecisionTreeClassifier, plot_tree # decision trees\n",
    "from sklearn.model_selection import train_test_split # split a dataset\n",
    "from tqdm.auto import tqdm # progress bar\n",
    "from matplotlib import pyplot as plt # plotting\n",
    "import dtreeviz\n",
    "from sklearn.metrics import roc_auc_score, matthews_corrcoef, cohen_kappa_score, RocCurveDisplay, ConfusionMatrixDisplay # model stats\n",
    "from tdc.single_pred import ADME\n",
    "from rdkit.Chem.MolStandardize import rdMolStandardize\n",
    "from rdkit.rdBase import BlockLogs"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "worth-bernard",
   "metadata": {
    "id": "worth-bernard"
   },
   "source": [
    "We want to have progress bars for operations we perfrom on the Pandas dataframe.  In order to do this we neeed to use the function [tqdm.pandas](https://datascientyst.com/progress-bars-pandas-python-tqdm/)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "undefined-booking",
   "metadata": {
    "id": "undefined-booking"
   },
   "outputs": [],
   "source": [
    "tqdm.pandas()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "charitable-break",
   "metadata": {
    "id": "charitable-break"
   },
   "source": [
    "A simple function to calculate molecular weight, LogP, number of aromatic rings, number of hydrogen bond donors and acceptors from a SMILES"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "spanish-decade",
   "metadata": {
    "id": "spanish-decade"
   },
   "outputs": [],
   "source": [
    "def calc_descriptors(mol):\n",
    "    if mol:\n",
    "        Chem.DeleteSubstructs(mol, Chem.MolFromSmarts(\"[#1X0]\"))\n",
    "        mw, logp, num_arom_rings, hbd, hba = [x(mol) for x in [MolWt, MolLogP, NumAromaticRings, NumHDonors, NumHAcceptors]]\n",
    "        res = [mw, logp, num_arom_rings, hbd, hba]\n",
    "    else:\n",
    "        res = [None] * 5\n",
    "    return res"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b462fc8f",
   "metadata": {
    "id": "b462fc8f"
   },
   "source": [
    "The molecules in this dataset have a number of salts and other functionality that can create issues with descriptor calcuations.  In order to avoid some of these problems we can use the function below to standardize the molecules."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "e59d8c30",
   "metadata": {
    "id": "e59d8c30"
   },
   "outputs": [],
   "source": [
    "def standardize(smiles):\n",
    "    # Code borrowed from https://bitsilla.com/blog/2021/06/standardizing-a-molecule-using-rdkit/\n",
    "    # follows the steps in\n",
    "    # https://github.com/greglandrum/RSC_OpenScience_Standardization_202104/blob/main/MolStandardize%20pieces.ipynb\n",
    "    # as described **excellently** (by Greg) in\n",
    "    # https://www.youtube.com/watch?v=eWTApNX8dJQ\n",
    "    mol = Chem.MolFromSmiles(smiles)\n",
    "\n",
    "    # removeHs, disconnect metal atoms, normalize the molecule, reionize the molecule\n",
    "    clean_mol = rdMolStandardize.Cleanup(mol)\n",
    "\n",
    "    # if many fragments, get the \"parent\" (the actual mol we are interested in)\n",
    "    parent_clean_mol = rdMolStandardize.FragmentParent(clean_mol)\n",
    "\n",
    "    # try to neutralize molecule\n",
    "    uncharger = rdMolStandardize.Uncharger() # annoying, but necessary as no convenience method exists\n",
    "    uncharged_parent_clean_mol = uncharger.uncharge(parent_clean_mol)\n",
    "\n",
    "    # note that no attempt is made at reionization at this step\n",
    "    # nor at ionization at some pH (rdkit has no pKa caculator)\n",
    "    # the main aim to to represent all molecules from different sources\n",
    "    # in a (single) standard way, for use in ML, catalogue, etc.\n",
    "\n",
    "    te = rdMolStandardize.TautomerEnumerator() # idem\n",
    "    taut_uncharged_parent_clean_mol = te.Canonicalize(uncharged_parent_clean_mol)\n",
    "\n",
    "    return taut_uncharged_parent_clean_mol"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "static-statistics",
   "metadata": {
    "id": "static-statistics"
   },
   "source": [
    "### Reading the Input Data\n",
    "Read data from [\"ESOL:  Estimating Aqueous Solubility Directly from Molecular Structure\"](https://pubs.acs.org/doi/10.1021/ci034243x) as supplied by [Therapeutic Data Commons](https://tdcommons.ai/)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "bf4f2170",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "bf4f2170",
    "outputId": "24793ac1-f487-44ba-9c5a-fc45a142175e"
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Downloading...\n",
      "100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 853k/853k [00:00<00:00, 9.19MiB/s]\n",
      "Loading...\n",
      "Done!\n"
     ]
    }
   ],
   "source": [
    "data = ADME(name = 'Solubility_AqSolDB')\n",
    "sol_df = data.get_data()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "aa73c290",
   "metadata": {
    "id": "aa73c290"
   },
   "source": [
    "Let's take a look at the input data, which has three columns\n",
    "- Drug_ID - the molecule name\n",
    "- Drug - the SMILES\n",
    "- Y - the log of the aqueous solubility in uM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "drawn-pierre",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 424
    },
    "id": "drawn-pierre",
    "outputId": "d434d61b-2950-4fe1-c711-d0bb570d8085"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Drug_ID</th>\n",
       "      <th>Drug</th>\n",
       "      <th>Y</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>N,N,N-trimethyloctadecan-1-aminium bromide</td>\n",
       "      <td>CCCCCCCCCCCCCCCCCC[N+](C)(C)C.[Br-]</td>\n",
       "      <td>-3.616127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Benzo[cd]indol-2(1H)-one</td>\n",
       "      <td>O=C1Nc2cccc3cccc1c23</td>\n",
       "      <td>-3.254767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4-chlorobenzaldehyde</td>\n",
       "      <td>O=Cc1ccc(Cl)cc1</td>\n",
       "      <td>-2.177078</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>zinc bis[2-hydroxy-3,5-bis(1-phenylethyl)benzo...</td>\n",
       "      <td>CC(c1ccccc1)c1cc(C(=O)[O-])c(O)c(C(C)c2ccccc2)...</td>\n",
       "      <td>-3.924409</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4-({4-[bis(oxiran-2-ylmethyl)amino]phenyl}meth...</td>\n",
       "      <td>c1cc(N(CC2CO2)CC2CO2)ccc1Cc1ccc(N(CC2CO2)CC2CO...</td>\n",
       "      <td>-4.662065</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9977</th>\n",
       "      <td>tetracaine</td>\n",
       "      <td>CCCCNc1ccc(C(=O)OCCN(C)C)cc1</td>\n",
       "      <td>-3.010000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9978</th>\n",
       "      <td>tetracycline</td>\n",
       "      <td>CN(C)[C@@H]1C(O)=C(C(N)=O)C(=O)[C@@]2(O)C(O)=C...</td>\n",
       "      <td>-2.930000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9979</th>\n",
       "      <td>thymol</td>\n",
       "      <td>Cc1ccc(C(C)C)c(O)c1</td>\n",
       "      <td>-2.190000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9980</th>\n",
       "      <td>verapamil</td>\n",
       "      <td>COc1ccc(CCN(C)CCCC(C#N)(c2ccc(OC)c(OC)c2)C(C)C...</td>\n",
       "      <td>-3.980000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>warfarin</td>\n",
       "      <td>CC(=O)CC(c1ccccc1)c1c(O)c2ccccc2oc1=O</td>\n",
       "      <td>-4.780000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9982 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                Drug_ID  \\\n",
       "0            N,N,N-trimethyloctadecan-1-aminium bromide   \n",
       "1                              Benzo[cd]indol-2(1H)-one   \n",
       "2                                  4-chlorobenzaldehyde   \n",
       "3     zinc bis[2-hydroxy-3,5-bis(1-phenylethyl)benzo...   \n",
       "4     4-({4-[bis(oxiran-2-ylmethyl)amino]phenyl}meth...   \n",
       "...                                                 ...   \n",
       "9977                                         tetracaine   \n",
       "9978                                       tetracycline   \n",
       "9979                                             thymol   \n",
       "9980                                          verapamil   \n",
       "9981                                           warfarin   \n",
       "\n",
       "                                                   Drug         Y  \n",
       "0                   CCCCCCCCCCCCCCCCCC[N+](C)(C)C.[Br-] -3.616127  \n",
       "1                                  O=C1Nc2cccc3cccc1c23 -3.254767  \n",
       "2                                       O=Cc1ccc(Cl)cc1 -2.177078  \n",
       "3     CC(c1ccccc1)c1cc(C(=O)[O-])c(O)c(C(C)c2ccccc2)... -3.924409  \n",
       "4     c1cc(N(CC2CO2)CC2CO2)ccc1Cc1ccc(N(CC2CO2)CC2CO... -4.662065  \n",
       "...                                                 ...       ...  \n",
       "9977                       CCCCNc1ccc(C(=O)OCCN(C)C)cc1 -3.010000  \n",
       "9978  CN(C)[C@@H]1C(O)=C(C(N)=O)C(=O)[C@@]2(O)C(O)=C... -2.930000  \n",
       "9979                                Cc1ccc(C(C)C)c(O)c1 -2.190000  \n",
       "9980  COc1ccc(CCN(C)CCCC(C#N)(c2ccc(OC)c(OC)c2)C(C)C... -3.980000  \n",
       "9981              CC(=O)CC(c1ccccc1)c1c(O)c2ccccc2oc1=O -4.780000  \n",
       "\n",
       "[9982 rows x 3 columns]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sol_df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b90ba5ea",
   "metadata": {
    "id": "b90ba5ea"
   },
   "source": [
    "I don't like the names of the columns, let's rename them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b894f56a",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 424
    },
    "id": "b894f56a",
    "outputId": "7437c3f5-0855-4373-bf6a-06f868cd41df"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Name</th>\n",
       "      <th>SMILES</th>\n",
       "      <th>LogS</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>N,N,N-trimethyloctadecan-1-aminium bromide</td>\n",
       "      <td>CCCCCCCCCCCCCCCCCC[N+](C)(C)C.[Br-]</td>\n",
       "      <td>-3.616127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Benzo[cd]indol-2(1H)-one</td>\n",
       "      <td>O=C1Nc2cccc3cccc1c23</td>\n",
       "      <td>-3.254767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>4-chlorobenzaldehyde</td>\n",
       "      <td>O=Cc1ccc(Cl)cc1</td>\n",
       "      <td>-2.177078</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>zinc bis[2-hydroxy-3,5-bis(1-phenylethyl)benzo...</td>\n",
       "      <td>CC(c1ccccc1)c1cc(C(=O)[O-])c(O)c(C(C)c2ccccc2)...</td>\n",
       "      <td>-3.924409</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4-({4-[bis(oxiran-2-ylmethyl)amino]phenyl}meth...</td>\n",
       "      <td>c1cc(N(CC2CO2)CC2CO2)ccc1Cc1ccc(N(CC2CO2)CC2CO...</td>\n",
       "      <td>-4.662065</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9977</th>\n",
       "      <td>tetracaine</td>\n",
       "      <td>CCCCNc1ccc(C(=O)OCCN(C)C)cc1</td>\n",
       "      <td>-3.010000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9978</th>\n",
       "      <td>tetracycline</td>\n",
       "      <td>CN(C)[C@@H]1C(O)=C(C(N)=O)C(=O)[C@@]2(O)C(O)=C...</td>\n",
       "      <td>-2.930000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9979</th>\n",
       "      <td>thymol</td>\n",
       "      <td>Cc1ccc(C(C)C)c(O)c1</td>\n",
       "      <td>-2.190000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9980</th>\n",
       "      <td>verapamil</td>\n",
       "      <td>COc1ccc(CCN(C)CCCC(C#N)(c2ccc(OC)c(OC)c2)C(C)C...</td>\n",
       "      <td>-3.980000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>warfarin</td>\n",
       "      <td>CC(=O)CC(c1ccccc1)c1c(O)c2ccccc2oc1=O</td>\n",
       "      <td>-4.780000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9982 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                   Name  \\\n",
       "0            N,N,N-trimethyloctadecan-1-aminium bromide   \n",
       "1                              Benzo[cd]indol-2(1H)-one   \n",
       "2                                  4-chlorobenzaldehyde   \n",
       "3     zinc bis[2-hydroxy-3,5-bis(1-phenylethyl)benzo...   \n",
       "4     4-({4-[bis(oxiran-2-ylmethyl)amino]phenyl}meth...   \n",
       "...                                                 ...   \n",
       "9977                                         tetracaine   \n",
       "9978                                       tetracycline   \n",
       "9979                                             thymol   \n",
       "9980                                          verapamil   \n",
       "9981                                           warfarin   \n",
       "\n",
       "                                                 SMILES      LogS  \n",
       "0                   CCCCCCCCCCCCCCCCCC[N+](C)(C)C.[Br-] -3.616127  \n",
       "1                                  O=C1Nc2cccc3cccc1c23 -3.254767  \n",
       "2                                       O=Cc1ccc(Cl)cc1 -2.177078  \n",
       "3     CC(c1ccccc1)c1cc(C(=O)[O-])c(O)c(C(C)c2ccccc2)... -3.924409  \n",
       "4     c1cc(N(CC2CO2)CC2CO2)ccc1Cc1ccc(N(CC2CO2)CC2CO... -4.662065  \n",
       "...                                                 ...       ...  \n",
       "9977                       CCCCNc1ccc(C(=O)OCCN(C)C)cc1 -3.010000  \n",
       "9978  CN(C)[C@@H]1C(O)=C(C(N)=O)C(=O)[C@@]2(O)C(O)=C... -2.930000  \n",
       "9979                                Cc1ccc(C(C)C)c(O)c1 -2.190000  \n",
       "9980  COc1ccc(CCN(C)CCCC(C#N)(c2ccc(OC)c(OC)c2)C(C)C... -3.980000  \n",
       "9981              CC(=O)CC(c1ccccc1)c1c(O)c2ccccc2oc1=O -4.780000  \n",
       "\n",
       "[9982 rows x 3 columns]"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sol_df.columns = [\"Name\",\"SMILES\",\"LogS\"]\n",
    "sol_df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eb19fdaa",
   "metadata": {
    "id": "eb19fdaa"
   },
   "source": [
    "Now let's reorder the columns."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "significant-italy",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 424
    },
    "id": "significant-italy",
    "outputId": "89e9e9bf-77d6-40d5-ae37-81a3858f8946"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SMILES</th>\n",
       "      <th>Name</th>\n",
       "      <th>LogS</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>CCCCCCCCCCCCCCCCCC[N+](C)(C)C.[Br-]</td>\n",
       "      <td>N,N,N-trimethyloctadecan-1-aminium bromide</td>\n",
       "      <td>-3.616127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>O=C1Nc2cccc3cccc1c23</td>\n",
       "      <td>Benzo[cd]indol-2(1H)-one</td>\n",
       "      <td>-3.254767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>O=Cc1ccc(Cl)cc1</td>\n",
       "      <td>4-chlorobenzaldehyde</td>\n",
       "      <td>-2.177078</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>CC(c1ccccc1)c1cc(C(=O)[O-])c(O)c(C(C)c2ccccc2)...</td>\n",
       "      <td>zinc bis[2-hydroxy-3,5-bis(1-phenylethyl)benzo...</td>\n",
       "      <td>-3.924409</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>c1cc(N(CC2CO2)CC2CO2)ccc1Cc1ccc(N(CC2CO2)CC2CO...</td>\n",
       "      <td>4-({4-[bis(oxiran-2-ylmethyl)amino]phenyl}meth...</td>\n",
       "      <td>-4.662065</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9977</th>\n",
       "      <td>CCCCNc1ccc(C(=O)OCCN(C)C)cc1</td>\n",
       "      <td>tetracaine</td>\n",
       "      <td>-3.010000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9978</th>\n",
       "      <td>CN(C)[C@@H]1C(O)=C(C(N)=O)C(=O)[C@@]2(O)C(O)=C...</td>\n",
       "      <td>tetracycline</td>\n",
       "      <td>-2.930000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9979</th>\n",
       "      <td>Cc1ccc(C(C)C)c(O)c1</td>\n",
       "      <td>thymol</td>\n",
       "      <td>-2.190000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9980</th>\n",
       "      <td>COc1ccc(CCN(C)CCCC(C#N)(c2ccc(OC)c(OC)c2)C(C)C...</td>\n",
       "      <td>verapamil</td>\n",
       "      <td>-3.980000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>CC(=O)CC(c1ccccc1)c1c(O)c2ccccc2oc1=O</td>\n",
       "      <td>warfarin</td>\n",
       "      <td>-4.780000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9982 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                 SMILES  \\\n",
       "0                   CCCCCCCCCCCCCCCCCC[N+](C)(C)C.[Br-]   \n",
       "1                                  O=C1Nc2cccc3cccc1c23   \n",
       "2                                       O=Cc1ccc(Cl)cc1   \n",
       "3     CC(c1ccccc1)c1cc(C(=O)[O-])c(O)c(C(C)c2ccccc2)...   \n",
       "4     c1cc(N(CC2CO2)CC2CO2)ccc1Cc1ccc(N(CC2CO2)CC2CO...   \n",
       "...                                                 ...   \n",
       "9977                       CCCCNc1ccc(C(=O)OCCN(C)C)cc1   \n",
       "9978  CN(C)[C@@H]1C(O)=C(C(N)=O)C(=O)[C@@]2(O)C(O)=C...   \n",
       "9979                                Cc1ccc(C(C)C)c(O)c1   \n",
       "9980  COc1ccc(CCN(C)CCCC(C#N)(c2ccc(OC)c(OC)c2)C(C)C...   \n",
       "9981              CC(=O)CC(c1ccccc1)c1c(O)c2ccccc2oc1=O   \n",
       "\n",
       "                                                   Name      LogS  \n",
       "0            N,N,N-trimethyloctadecan-1-aminium bromide -3.616127  \n",
       "1                              Benzo[cd]indol-2(1H)-one -3.254767  \n",
       "2                                  4-chlorobenzaldehyde -2.177078  \n",
       "3     zinc bis[2-hydroxy-3,5-bis(1-phenylethyl)benzo... -3.924409  \n",
       "4     4-({4-[bis(oxiran-2-ylmethyl)amino]phenyl}meth... -4.662065  \n",
       "...                                                 ...       ...  \n",
       "9977                                         tetracaine -3.010000  \n",
       "9978                                       tetracycline -2.930000  \n",
       "9979                                             thymol -2.190000  \n",
       "9980                                          verapamil -3.980000  \n",
       "9981                                           warfarin -4.780000  \n",
       "\n",
       "[9982 rows x 3 columns]"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sol_df = sol_df[['SMILES','Name','LogS']]\n",
    "sol_df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "D4aRe5x2YNWl",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "D4aRe5x2YNWl",
    "outputId": "d6461661-77c5-4803-da64-d0474c4f2e97"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SMILES          CN1C=CC=C/C1=C\\[NH+]=O.[I-]\n",
       "Name      pralidoxime iodide [usan:inn:jan]\n",
       "LogS                                -0.7405\n",
       "Name: 3894, dtype: object"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Error message occurred when running molecule standardisation and process was stuck at 39%\n",
    "# This pointed to molecule at index 3894\n",
    "\n",
    "# Checked out molecule at index 3894\n",
    "sol_df.iloc[3894]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "L8HlZyZIa-OS",
   "metadata": {
    "id": "L8HlZyZIa-OS"
   },
   "outputs": [],
   "source": [
    "# Considered replacing the SMILES with the one from ChEMBL database\n",
    "# https://www.ebi.ac.uk/chembl/compound_report_card/CHEMBL14577/\n",
    "\n",
    "# Replaced old SMILES string from index 3894 with a different SMILES representation from ChEMBL database\n",
    "sol_df[\"SMILES\"] = sol_df[\"SMILES\"].str.replace(\"CN1C=CC=C/C1=C\\[NH+]=O.[I-]\", \"C[n+]1ccccc1C=NO.[I-]\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "jlreXt54526b",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "jlreXt54526b",
    "outputId": "6db2b5ec-60d8-4837-b016-bb4d4df4cc1f"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SMILES                C[n+]1ccccc1C=NO.[I-]\n",
       "Name      pralidoxime iodide [usan:inn:jan]\n",
       "LogS                                -0.7405\n",
       "Name: 3894, dtype: object"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Confirmed the SMILES has been replaced\n",
    "sol_df.iloc[3894]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "506a165f",
   "metadata": {
    "id": "506a165f"
   },
   "source": [
    "Before we calculate descriptors, we're going to standardize the molecules. This process removes counterions, neutralizes molecules, and generates a standard tautomer.  This process also generates **a lot** of logging output.  We don't want to look at that output, so we're going to use the function [BlockLogs](https://www.rdkit.org/docs/source/rdkit.rdBase.html) to temporarily turn off logging.  Once we're finished we delete the variable **block** and logging is back on."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "21505088",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "21505088",
    "outputId": "5f54d4a2-1bc5-4963-b8e0-c4b566494ac4"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "dd81f19635fc41cba3c4dfbdfa2f7479",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/9982 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "block = BlockLogs()\n",
    "sol_df['mol'] = sol_df.SMILES.progress_apply(standardize)\n",
    "del block"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "motivated-postcard",
   "metadata": {
    "id": "motivated-postcard"
   },
   "source": [
    "Add a new column \"IsSol\" to indicate whether a molecule's solubility is greater than 200uM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "julian-representative",
   "metadata": {
    "id": "julian-representative"
   },
   "outputs": [],
   "source": [
    "sol_df['IsSol'] = sol_df.LogS > math.log10(200 * 1e-6)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "certified-passage",
   "metadata": {
    "id": "certified-passage"
   },
   "source": [
    "Plot solubility as a sanity check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "cloudy-provider",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 501
    },
    "id": "cloudy-provider",
    "outputId": "609c71ab-1cea-4a5f-d806-3c3bb205b017"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<seaborn.axisgrid.FacetGrid at 0x28dd352d0>"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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MA0dOlTR0dGlWt/M29tbXbt2VV5enk6ePKlTp07pyJEjWrFihXr06KGGDRta+2ZmZkqSzTNpN7JMbLhxFqilrqjaGydE3GoGqeVfJQAK9syY8TqbctGmPTbukAaW/3CASu/nn3+WJP3rX/9Sly5drO3Ozs5q2rSpJk+ebFPz0ksvKSwsTKdPn9aHH36oxYsXq3v37urUqZM6duyoBx98UN7e3oUe85NPPlFiYqKcnJy0adMmtW7d2rotICBAmzdvVtu2bZWUlKR//OMf+s9//lOGZ2wMdzS0WZhMJs2dO1ctW7bUrFmzFB4eftv7sjzEaHHs2DFNnjxZ33zzjbp06aLY2FjVqFFDkqwzPi23OguSlZUlKf/9dUudpfbG72+uu7m2IPXq1VOHDh2K7GNx6NAhlhFBpXM25aIGvvyOTfvv44fYYTQAatasqatXryo5ObnYNbVq1VJkZKRCQkK0ZcsWXblyRZs2bdKmTZusfTp27KiXX35Zzz77rBwc8i9g8fXXX0uShg8fni+wWVSrVk2hoaF68cUX9f3331vXf6tMym3Jj+bNm6t69erasmVLme63SZMmWr16tVq1aqVTp07pX//6l3WbZUrxjbc7b2bZduP04xu/Lqz2xvZbTV0OCQlRVFRUsT4tW7Yscl8AANxpjz76qCTpueee0+TJk/Xjjz/mW52hML6+vtq8ebPi4uL03nvvKTAwMN+khKioKI0ZM0aDBg3Kd1crOztb+/fvlyT17du30P3369dP0vXHsyrjHaxyC205OTm6evWqzp07V+b7rlKligYNGiRJ1lmfktSsWTNJUnx8fKG1CQkJ+fpK11+FYbktWlitpc7FxaXQ12cBAGBEc+fOVa9evZSenq4PP/xQDz/8sKpXr677779f06dP16lTp4qsb9mypaZOnapvvvlGx48fV3JyshYtWmT9+3Lz5s168803rf1TUlKUm5sr6frKDoW58RGos2fPluYUDancQts333yjnJycIu9nl0ZOTo6k/JMjLPfhIyMjC6w5deqUEhMT8/WVJEdHR3Xs2FGStHPnzgJrLe2dOnViuQ8AQIVSs2ZNbd++XTt37lRoaKi6du0qR0dHRUVF6e2331bTpk315ZdfFnt/devWVUhIiH755RdrDggPDy9wQmNRs05v3HY7s1ON7o6GtuzsbCUkJGju3LkaP368TCaT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",
      "text/plain": [
       "<Figure size 639.875x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.set_context('talk') # Set the fonts the way I like them\n",
    "sns.displot(x='LogS',hue=\"IsSol\",data=sol_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ruled-church",
   "metadata": {
    "id": "ruled-church"
   },
   "source": [
    "Add the descriptors to the dataframe.  Note that all the descriptors are going into one column called \"desc\"."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "affecting-solomon",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "affecting-solomon",
    "outputId": "44e2dd59-f789-49f6-c1a6-81a728f5e4fd"
   },
   "outputs": [
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "762b3a2481264be99703693c961e61a2",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "  0%|          | 0/9982 [00:00<?, ?it/s]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sol_df['desc'] = sol_df.mol.progress_apply(calc_descriptors)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ordinary-romania",
   "metadata": {
    "id": "ordinary-romania"
   },
   "source": [
    "The function call in the cell above put all the descriptors into a single column called **desc**.  We would like split the descriptors so that each is in its own column."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "racial-spell",
   "metadata": {
    "id": "racial-spell"
   },
   "outputs": [],
   "source": [
    "desc_cols = ['MW','LogP','NumAromatic','HBD','HBA']\n",
    "sol_df[desc_cols] = sol_df.desc.to_list()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "hydraulic-chapter",
   "metadata": {
    "id": "hydraulic-chapter"
   },
   "source": [
    "We no longer need the \"desc\" column, let's get rid of it."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "assured-interaction",
   "metadata": {
    "id": "assured-interaction"
   },
   "outputs": [],
   "source": [
    "sol_df.drop(\"desc\",axis=1,inplace=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "green-deviation",
   "metadata": {
    "id": "green-deviation"
   },
   "source": [
    "Let's check the dataframe to make sure it's ok."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "dried-guitar",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 791
    },
    "id": "dried-guitar",
    "outputId": "f11c45d1-9dab-46d1-cfba-5ac3298e0354"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SMILES</th>\n",
       "      <th>Name</th>\n",
       "      <th>LogS</th>\n",
       "      <th>mol</th>\n",
       "      <th>IsSol</th>\n",
       "      <th>MW</th>\n",
       "      <th>LogP</th>\n",
       "      <th>NumAromatic</th>\n",
       "      <th>HBD</th>\n",
       "      <th>HBA</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>CCCCCCCCCCCCCCCCCC[N+](C)(C)C.[Br-]</td>\n",
       "      <td>N,N,N-trimethyloctadecan-1-aminium bromide</td>\n",
       "      <td>-3.616127</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x17a5bc120&gt;</td>\n",
       "      <td>True</td>\n",
       "      <td>312.606</td>\n",
       "      <td>6.95410</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>O=C1Nc2cccc3cccc1c23</td>\n",
       "      <td>Benzo[cd]indol-2(1H)-one</td>\n",
       "      <td>-3.254767</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x17a5bc040&gt;</td>\n",
       "      <td>True</td>\n",
       "      <td>169.183</td>\n",
       "      <td>2.40550</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>O=Cc1ccc(Cl)cc1</td>\n",
       "      <td>4-chlorobenzaldehyde</td>\n",
       "      <td>-2.177078</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x17a5bc190&gt;</td>\n",
       "      <td>True</td>\n",
       "      <td>140.569</td>\n",
       "      <td>2.15250</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>CC(c1ccccc1)c1cc(C(=O)[O-])c(O)c(C(C)c2ccccc2)...</td>\n",
       "      <td>zinc bis[2-hydroxy-3,5-bis(1-phenylethyl)benzo...</td>\n",
       "      <td>-3.924409</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x17a5bc510&gt;</td>\n",
       "      <td>False</td>\n",
       "      <td>346.426</td>\n",
       "      <td>5.39400</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>2.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>c1cc(N(CC2CO2)CC2CO2)ccc1Cc1ccc(N(CC2CO2)CC2CO...</td>\n",
       "      <td>4-({4-[bis(oxiran-2-ylmethyl)amino]phenyl}meth...</td>\n",
       "      <td>-4.662065</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x17a5bc4a0&gt;</td>\n",
       "      <td>False</td>\n",
       "      <td>422.525</td>\n",
       "      <td>2.48540</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9977</th>\n",
       "      <td>CCCCNc1ccc(C(=O)OCCN(C)C)cc1</td>\n",
       "      <td>tetracaine</td>\n",
       "      <td>-3.010000</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x2a1a13530&gt;</td>\n",
       "      <td>True</td>\n",
       "      <td>264.369</td>\n",
       "      <td>2.61700</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9978</th>\n",
       "      <td>CN(C)[C@@H]1C(O)=C(C(N)=O)C(=O)[C@@]2(O)C(O)=C...</td>\n",
       "      <td>tetracycline</td>\n",
       "      <td>-2.930000</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x2a1a135a0&gt;</td>\n",
       "      <td>True</td>\n",
       "      <td>444.440</td>\n",
       "      <td>-1.46800</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>9.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9979</th>\n",
       "      <td>Cc1ccc(C(C)C)c(O)c1</td>\n",
       "      <td>thymol</td>\n",
       "      <td>-2.190000</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x2a1a13610&gt;</td>\n",
       "      <td>True</td>\n",
       "      <td>150.221</td>\n",
       "      <td>2.82402</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9980</th>\n",
       "      <td>COc1ccc(CCN(C)CCCC(C#N)(c2ccc(OC)c(OC)c2)C(C)C...</td>\n",
       "      <td>verapamil</td>\n",
       "      <td>-3.980000</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x2a1a13680&gt;</td>\n",
       "      <td>False</td>\n",
       "      <td>454.611</td>\n",
       "      <td>5.09308</td>\n",
       "      <td>2.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9981</th>\n",
       "      <td>CC(=O)CC(c1ccccc1)c1c(O)c2ccccc2oc1=O</td>\n",
       "      <td>warfarin</td>\n",
       "      <td>-4.780000</td>\n",
       "      <td>&lt;rdkit.Chem.rdchem.Mol object at 0x2a1a136f0&gt;</td>\n",
       "      <td>False</td>\n",
       "      <td>308.333</td>\n",
       "      <td>3.60960</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>9982 rows × 10 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                 SMILES  \\\n",
       "0                   CCCCCCCCCCCCCCCCCC[N+](C)(C)C.[Br-]   \n",
       "1                                  O=C1Nc2cccc3cccc1c23   \n",
       "2                                       O=Cc1ccc(Cl)cc1   \n",
       "3     CC(c1ccccc1)c1cc(C(=O)[O-])c(O)c(C(C)c2ccccc2)...   \n",
       "4     c1cc(N(CC2CO2)CC2CO2)ccc1Cc1ccc(N(CC2CO2)CC2CO...   \n",
       "...                                                 ...   \n",
       "9977                       CCCCNc1ccc(C(=O)OCCN(C)C)cc1   \n",
       "9978  CN(C)[C@@H]1C(O)=C(C(N)=O)C(=O)[C@@]2(O)C(O)=C...   \n",
       "9979                                Cc1ccc(C(C)C)c(O)c1   \n",
       "9980  COc1ccc(CCN(C)CCCC(C#N)(c2ccc(OC)c(OC)c2)C(C)C...   \n",
       "9981              CC(=O)CC(c1ccccc1)c1c(O)c2ccccc2oc1=O   \n",
       "\n",
       "                                                   Name      LogS  \\\n",
       "0            N,N,N-trimethyloctadecan-1-aminium bromide -3.616127   \n",
       "1                              Benzo[cd]indol-2(1H)-one -3.254767   \n",
       "2                                  4-chlorobenzaldehyde -2.177078   \n",
       "3     zinc bis[2-hydroxy-3,5-bis(1-phenylethyl)benzo... -3.924409   \n",
       "4     4-({4-[bis(oxiran-2-ylmethyl)amino]phenyl}meth... -4.662065   \n",
       "...                                                 ...       ...   \n",
       "9977                                         tetracaine -3.010000   \n",
       "9978                                       tetracycline -2.930000   \n",
       "9979                                             thymol -2.190000   \n",
       "9980                                          verapamil -3.980000   \n",
       "9981                                           warfarin -4.780000   \n",
       "\n",
       "                                                mol  IsSol       MW     LogP  \\\n",
       "0     <rdkit.Chem.rdchem.Mol object at 0x17a5bc120>   True  312.606  6.95410   \n",
       "1     <rdkit.Chem.rdchem.Mol object at 0x17a5bc040>   True  169.183  2.40550   \n",
       "2     <rdkit.Chem.rdchem.Mol object at 0x17a5bc190>   True  140.569  2.15250   \n",
       "3     <rdkit.Chem.rdchem.Mol object at 0x17a5bc510>  False  346.426  5.39400   \n",
       "4     <rdkit.Chem.rdchem.Mol object at 0x17a5bc4a0>  False  422.525  2.48540   \n",
       "...                                             ...    ...      ...      ...   \n",
       "9977  <rdkit.Chem.rdchem.Mol object at 0x2a1a13530>   True  264.369  2.61700   \n",
       "9978  <rdkit.Chem.rdchem.Mol object at 0x2a1a135a0>   True  444.440 -1.46800   \n",
       "9979  <rdkit.Chem.rdchem.Mol object at 0x2a1a13610>   True  150.221  2.82402   \n",
       "9980  <rdkit.Chem.rdchem.Mol object at 0x2a1a13680>  False  454.611  5.09308   \n",
       "9981  <rdkit.Chem.rdchem.Mol object at 0x2a1a136f0>  False  308.333  3.60960   \n",
       "\n",
       "      NumAromatic  HBD  HBA  \n",
       "0             0.0  0.0  0.0  \n",
       "1             2.0  1.0  1.0  \n",
       "2             1.0  0.0  1.0  \n",
       "3             3.0  2.0  2.0  \n",
       "4             2.0  0.0  6.0  \n",
       "...           ...  ...  ...  \n",
       "9977          1.0  1.0  4.0  \n",
       "9978          1.0  4.0  9.0  \n",
       "9979          1.0  1.0  1.0  \n",
       "9980          2.0  0.0  6.0  \n",
       "9981          3.0  1.0  4.0  \n",
       "\n",
       "[9982 rows x 10 columns]"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sol_df"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "choice-scroll",
   "metadata": {
    "id": "choice-scroll"
   },
   "source": [
    "In order to build a machine learning model, we will split the data into training and test sets. By default, the function train_test_split from scikit_learn puts 80% of the data into the training set and 20% into the test set."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "indian-payroll",
   "metadata": {
    "id": "indian-payroll"
   },
   "outputs": [],
   "source": [
    "train, test = train_test_split(sol_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "strong-hearing",
   "metadata": {
    "id": "strong-hearing"
   },
   "source": [
    "Our data is currently in a Pandas dataframe.  I find it easier to build models with X and y variables. We'll split the training and test sets into X and y variables."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "simplified-legislation",
   "metadata": {
    "id": "simplified-legislation"
   },
   "outputs": [],
   "source": [
    "train_X = train[desc_cols]\n",
    "train_y = train.IsSol\n",
    "test_X = test[desc_cols]\n",
    "test_y = test.IsSol"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "temporal-mitchell",
   "metadata": {
    "id": "temporal-mitchell"
   },
   "source": [
    "Create and train a classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "continuing-reasoning",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 75
    },
    "id": "continuing-reasoning",
    "outputId": "e0509132-fced-4c67-d910-e8b668bffbec"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-1 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-1 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-1 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-1 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-1 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>DecisionTreeClassifier(max_depth=2)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;DecisionTreeClassifier<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.tree.DecisionTreeClassifier.html\">?<span>Documentation for DecisionTreeClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>DecisionTreeClassifier(max_depth=2)</pre></div> </div></div></div></div>"
      ],
      "text/plain": [
       "DecisionTreeClassifier(max_depth=2)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cls = DecisionTreeClassifier(max_depth=2)\n",
    "cls.fit(train_X,train_y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "concrete-heath",
   "metadata": {
    "id": "concrete-heath"
   },
   "source": [
    "Predict on the test set"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "measured-tribe",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "measured-tribe",
    "outputId": "66fd50b9-e320-4511-c125-ee0f09053145"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ROC AUC = 0.81\n",
      "Matthews Correlation Coefficient = 0.63\n",
      "Cohen's Kappa = 0.63\n"
     ]
    }
   ],
   "source": [
    "pred = cls.predict(test_X)\n",
    "auc, mcc, kappa = roc_auc_score(test_y, pred),matthews_corrcoef(test_y,pred),cohen_kappa_score(test_y,pred)\n",
    "print(f\"ROC AUC = {auc:.2f}\")\n",
    "print(f\"Matthews Correlation Coefficient = {mcc:.2f}\")\n",
    "print(f\"Cohen\\'s Kappa = {kappa:.2f}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "accompanied-playing",
   "metadata": {
    "id": "accompanied-playing"
   },
   "source": [
    "Plot a confusion matrix to show the classifier performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "danish-implementation",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 826
    },
    "id": "danish-implementation",
    "outputId": "1d7e0d8f-52e6-4083-dd1f-b997b4804d1b"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<sklearn.metrics._plot.confusion_matrix.ConfusionMatrixDisplay at 0x2a1e382d0>"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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hmOzL42LZOFZV/SvScpERETEOS6WFf0vNkrKRERE3IySMtfkWguViIiIiLgptZSJiIi4ES2J4bqUlImIiLgZLYnhmtR9KSIiIuIC1FImIiLiRgwHNyQ31MpWZZSUiYiIuBPDwdmXGlRWZdR9KSIiIuIC1FImIiLiZrROmWtSUiYiIuJGtCSG61L3pYiIiIgLUEuZiIiIm9Gm4q5JSZmIiIhbMTm4eKwSuqqipExERMSNaEyZ69KYMhEREREXoJYyERERd2I4OKZMTWVVRkmZiIiIm9E6Za5J3ZciIiIiLkAtZSIiIm7EwLHuS/VeVh0lZSIiIm7F5GD3pbo+q4q6L0VERERcgFrKRERE3IyhPkiXpKRMRETEjRjg0Ir+yueqjrovRURERFxAuVrKIiMjnXIzk8nEypUrnXItERERqQQtHuuyypWUrVmzxik3M5k0Y0NERORC0+KxrqlcSdm4ceOquh4iIiJynmigv2tSUiYiIiLiAjT7UkRExI1oRX/XpaRMRETErZgcG+ivFf2rjFOSsmXLlvHjjz9y4MABsrKybGZYZmRkEBMTg8lkomvXrs64nYiIiMhFx6Gk7ODBg9x5551ER0cDYBhGiRmWZrOZe++9l8TERP766y/atWvnyC1FRETEEYaDsy/Vf1llKr14bGZmJjfccANbtmyhYcOGPProowQEBJQo5+XlxdChQzEMg6VLlzpUWREREXGcYVT+VRUOHz7M3LlzefLJJ+nWrRv+/v6YTCY6d+58zti8vDwmT55MREQEAQEBBAcHExkZyddff33O2H379jF48GAaNWqE2WymcePGDBkyhISEhHPGLl68mGuuuYagoCACAgJo3749b731Fnl5eeV6ZnsqnZRNmTKF3bt307FjR2JjY/nf//5HYGCg3bJ9+/YF4Keffqrs7UREROQiNX/+fB588EH+97//8dtvv5GVlVWuuOzsbCIjIxk1ahQ7duwgPDyc4OBgVq9eTVRUFGPGjCk1dsOGDURERDB79mwyMzNp164d6enpzJo1i4iICP74449SY5999ln69evHmjVrqFWrFuHh4Wzfvp3nnnuO6667jpycnAr/DMCBpGzRokWYTCbeeecduy1kxbVt2xYvLy/27NlT2duJiIiIE1hmX1b6VQV1ql69Otdddx1jxoxh0aJFvP766+WKGz16NOvWrSM0NJQd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lrKTJ08SGBhI586dz1n28ssvJzAw0LrlkoiIiFxAVdQNKY6pdEtZgwYNKCgoKHf5wsJCp2+xICIiIhWnljLXVOmk7JZbbiErK4tVq1ads+zKlSvJzMzk1ltvreztRERERC5qlU7Kxo4dS926dRkyZAh79uwptdzevXt5+OGHadCgAS+++GJlbyciIiLO4MjMyyqcgSnlHFP266+/2j3+xhtv8PTTTxMREUH//v2JjIykYcOGmEwmEhMTWb16NQsXLsTX15d33nmHXbt2UbduXac+gIiIiFSE6Z+XI/FSFcqVlPXq1QuTqez/CfPmzWPevHl2z+Xk5DBkyBBMJhP5+fkVr6WIiIjIRa7csy8ru36Is68hIiIiDtLHsUsqV1JWWFhY1fUQERGR80VJmUtyeENyEREREXFcpRePFRERkX8prTfmkpSUiYiIuBEDcGSIt3o+q45TkrLExER+++03EhMTycjIKHNA/0svveSMW4qIiIhcVBxKyo4fP86IESP45ptvzjmz0jAMTCaTkjIREZELydEFYNVUVmUqnZRlZGTQq1cvYmNj8fHxISIigj/++AMfHx+uuOIKDh8+TFxcHADBwcG0a9fOaZUWERERB2hMmUuq9OzLKVOmsHPnTlq2bMm+ffvYuHEjUJSA/frrr+zZs4eEhATuuusuTp48yU033cTq1audVnERERGpOBNgMhx4XegHuIhVOilbsmQJJpOJN954gwYNGtgt06RJE+bPn89dd93FCy+8wMqVKytdUREREZGLWaWTsl27dgFw00032RzPy8srUfa1117DMAw++OCDyt5OREREnEWbkbukSo8py87OpmbNmpjNZusxX19f0tPTS5QNDQ2lRo0a/PHHH5W9nYiIiDiLxpS5pEq3lNWrV4/Tp0/bbMFUp04dcnNzSUxMtClbUFBARkYGJ06cqHxNRURERC5ilU7KmjRpQmFhIUlJSdZj7du3B4rGmxW3bNky8vPzqVu3bmVvJyIiIs7gSNelujCrVKWTsmuvvRaAVatWWY/dfffdGIbB888/z+TJk1mxYgVvvfUWgwYNwmQycfPNNzteYxEREXGMEjKXVOmk7LbbbsMwDObNm2c9du+999KrVy8yMzMZM2YMN910E6NHj+b06dPUq1eP8ePHO6POIiIiIhedSidlHTp0oLCwkB9//NF6zGQy8e233/L8888TGhqKl5cXtWrV4oEHHmDjxo2EhIQ4pdIiIiLiALWUuSSnb0ju5+fHa6+9xmuvvebsS4uIiIgzaPalS6p0S5mIiIiIOI/TW8pERETEtZnUDemSypWU/f3330674SWXXOK0a4mIiEgFOTo2TAldlSlXUhYaGuqUm5lMJvLz851yLREREZGLSbmSMsNwTlrsrOuIiIiIXGzKlZQlJCRUdT1ERETkPNGYMtdUrqSsSZMmVV0PcQLPlHRqfr7hQldDpEr8mPTXha6CSJW5/IYsoredr7uZHFwSQ8tpVBUtiSEiIiLiArQkhoiIiLtR96VLUlImIiLibpSUuSR1X4qIiIi4ALWUiYiIuBnNvnRNSspERETciVb0d1nqvhQRERFxAUrKRERE3I3hwKuKpKSk8N///pf27dsTGBiIj48PDRs2JCoqitWrV5cal5eXx+TJk4mIiCAgIIDg4GAiIyP5+uuvz3nPffv2MXjwYBo1aoTZbKZx48YMGTLkgi2ar6RMRETEzZiMyr+qwt69e2nXrh2vv/4627Zto169erRt25b09HS+/vprIiMjefXVV0vEZWdnExkZyahRo9ixYwfh4eEEBwezevVqoqKiGDNmTKn33LBhAxEREcyePZvMzEzatWtHeno6s2bNIiIigj/++KNqHrYMTkvKDMPg+PHj/P333866pIiIiFQFw1T5VxUYMWIESUlJNG/enK1btxIfH090dDTHjh1j7NixALz00kvExMTYxI0ePZp169YRGhrKjh07iImJIS4ujqVLl2I2m5k4cSLLly8vcb/MzEyioqJIT09n8ODBJCUlsXnzZpKTkxk0aBBpaWlERUWRlZVVJc9bGoeTsujoaO68805q1KhBvXr1aNasmc351NRUhg8fzogRI8jNzXX0diIiInIRSUtLs3ZPvvXWW7Rp08Z6zsfHh5dffpn27dtjGAbff/+99dyRI0eYNm0aADNnzqRly5bWc3369GHUqFEAjB8/vsQ9p0+fTnJyMuHh4UydOhVfX18AfH19mTZtGmFhYSQmJjJjxgynP29ZHErKPv/8c7p27co333xDeno6hmFgGLZtm0FBQSQkJPDJJ5+wYsUKhyorIiIiTuBCY8pycnKsucPZDTsWluN5eXnWY8uWLSM3N5fw8HCuueaaEjHDhw8HihqP4uPjbc4tXLgQgIEDB+Lj42NzzsfHh0GDBgGwYMGCyjxSpVU6KYuNjeXhhx8mLy+PJ554gs2bN1O7dm27ZR966CEMw2Dp0qWVrqiIiIg4zpHxZFUxrqx27do0btwYgPXr15c4n52dzebNmwHo0qWL9fjGjRsB6NGjh93rNmzYkNDQUJuyAAUFBdbrlRZrOb5p0yYKCgoq9DyOqPQ6Ze+88w65ubk8+uijvPfeewB4enraLRsZGQkUDaoTERGRf7/Y2Fg6depU7vLDhg2ztl6dbdKkSdx3332MGjUKDw8PbrvtNqpXr05sbCxjx47l77//JioqihtuuMEas2fPHgDCw8NLvWdYWBgJCQns3r3bemz//v3W4VSlxYaFhQFFrXgHDhwotQXP2SqdlK1atQqTycTo0aPPWTYkJAR/f39NAhAREXEFTmjtysrKIjo6utzlk5OTSz13zz33UK1aNSZMmMCwYcNsztWuXZsPP/yQRx55xOZ4SkoKAMHBwaVe13IuNTW1RFxZscWPF4+tapVOypKSkggICKBRo0blKu/n58epU6cqezsRERFxEmd0Qfr5+dGqVatyl2/QoEGZ5+Pj40lJScFkMtG4cWOCgoKIj4/n+PHjTJ8+nY4dO9K1a1dr+ezsbIASY8KKM5vNADazKC1xZcVa4s6OrWqVTsrMZjPZ2dkYhoHJVPYU2aysLE6ePEnNmjUrezsRERFxIa1atWLLli1Oudajjz7KRx99REREBDExMbRr1w4oGtj/9ttv8/zzzxMZGcn69evp2LEjgHXGZFkrO+Tk5ABFCaSFJc4SW/z7s+POjq1qlR7o37RpU/Ly8ti7d+85y3733XcUFBTQunXryt5OREREnMWFZl9u3bqVqVOn4uXlxeLFi60JGYC3tzdjxoxhwIABZGdn8+KLL1rPBQUFAbbdkWeznLOUPfvr0mKLHy9evqpVOim76aabMAyD999/v8xyJ06cYNSoUZhMJnr37l3Z24mIiIizuFBStm7dOgzDoHnz5tYB9me75ZZbAGxW2W/RogUAcXFxpV7bshSGpSwUNSpZui1Li7XEmc1mmjRpUt5HcVilk7Knn36awMBApk2bxoQJE0hLS7M5n5WVxRdffEHnzp1JSEigVq1ajBgxwuEKi4iIiAMcXQ7DyYmZJX8oayiUZR2z4uPBrrzySqAoqbPn0KFD1j0sLWUBvLy8rLNG165dazfWcvzyyy8vdWWJqlDppKxevXp88cUXeHt78/LLL1OnTh1OnDgBQJs2bQgODubBBx/kwIEDmM1mvvzyS6pXr+60iouIiMi/n6UVa8+ePezbt89umR9++AHAZtX+vn374u3tzd69e+1uWP7xxx8D0KFDhxJLX/Tr1w+AOXPm2CxIC0XjzGbPng1A//79K/NIlebQiv633norv/76K506dSI3N5f8/HwMwyA2Nta6Qm+HDh349ddfufbaa51VZxEREblI3HjjjdSrV4/8/Hz69evHjh07rOfy8vKYPHkyc+bMAWDAgAHWc/Xq1bOuezZkyBCbtciWL1/OpEmTABg3blyJew4fPpz69esTFxfHiBEjrC1w2dnZjBgxgvj4eEJCQhg6dKjTn7cslZ59aXHFFVfwxx9/sHXrVtatW0dSUhIFBQXUr1+fbt260blzZ2fUU0RERJylCsaGVZa/vz9ffPEFffv25c8//6Rdu3Zccskl1iUxLN2bd955J48++qhN7KRJk9iyZQsbNmygTZs2tG3blvT0dOuYsGeeeYa+ffuWuGdAQACLFi3ixhtvZNasWSxZsoRmzZqxb98+UlNTCQwMZPHixfj7+1f9D6AYh5Myi8suu4zLLrvMWZcTERERNxEZGcn27dt57733WLFiBQkJCRw6dIjg4GC6devGgAEDuOeee0rE+fn5sWbNGt577z3mzp3Lnj178PHxoWfPnjz++ONERUWVes9u3boRExPDK6+8wooVK9i6dSt16tShb9++jB079ryt4l+c05IyERER+Xdw9v6VztCkSRPefffdCsf5+PgwatQoRo0aVeHYsLAwa9eoK1BSJiIi4m5cMCkTB5IyyybjFWEymVi5cmVlbykiIiJy0ap0UrZmzZpylbOsO1Ke7ZhERETkPFBLmUuqdFJmb4ppcadOneL3339nw4YN1KpVi0ceeeS8LsAmIiIidhgOjilTQldlqiwps1i1ahV33nknO3fuZNGiRZW9nYiIiMhFzaHFY8sjMjKS999/nyVLljBjxoyqvp2IiIiciwvtfSlnVHlSBnD33Xfj6emppExEROQCM+HY3pcaHV51zsuSGL6+vgQEBBAbG3s+biciIiJlUYuXSzovLWWHDh3i1KlT1l3eRURERMRWlbeUZWVlMXLkSADatWtX1bcTERGRc1EbiUuqdFL28ssvl3k+OzubgwcP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uBXDwYH+ysqqisaUiYiIiLgAtZSJiIi4G0ObX7oiJWUiIiLuRgP9XZK6L0VERERcgFrKRERE3ImBYwP91chWZZSUiYiIuBUHNyRXVlZl1H0pIiIi4gLUUiYiIuJuNNDfJSkpExERcTdKylySui9FREREXIBaykRERNyJARQ6sHisGtmqjJIyERERt6LZl65KSZmIiIi70Zgyl6QxZSIiIiIuQC1lIiIi7kQr+rssJWUiIiJuxjAcGOgvVUbdlyIiIiIuQC1lIiIibsVwrPtS/ZdVRkmZiIiIu9HsS5ek7ksRERERF6CWMhEREXeiFf1dlpIyERERd6PuS5ek7ksRERERF6CWMhERETdiYGA40H1pqP+yyigpExERcScGjnVfKierMkrKRERE3I1D65RJVdGYMhEREblgDMPgt99+Y8yYMXTv3p1atWrh7e1NnTp1uOGGG5g3bx5GGS17eXl5TJ48mYiICAICAggODiYyMpKvv/76nPfet28fgwcPplGjRpjNZho3bsyQIUNISEhw5iOWm5IyERERt2KAUVj5l5P7L1etWkW3bt2YOHEi69evp2bNmkRERFBYWMiKFSt44IEHuO2228jJySkRm52dTWRkJKNGjWLHjh2Eh4cTHBzM6tWriYqKYsyYMaXed8OGDURERDB79mwyMzNp164d6enpzJo1i4iICP744w+nPmd5KCkTERFxJwYYhUalX84eU2YYBqGhobz//vscOXKE+Ph4Nm/ezIkTJ/jss88wm818++23jBs3rkTs6NGjWbduHaGhoezYsYOYmBji4uJYunQpZrOZiRMnsnz58hJxmZmZREVFkZ6ezuDBg0lKSmLz5s0kJyczaNAg0tLSiIqKIisry7kPew5KykREROSCueKKK9i9ezdPPPEEdevWtTn34IMP8tJLLwHwySefUFhs1uiRI0eYNm0aADNnzqRly5bWc3369GHUqFEAjB8/vsQ9p0+fTnJyMuHh4UydOhVfX18AfH19mTZtGmFhYSQmJjJjxgynPuu5KCkTERFxNw51XzpX9erV8fb2LvX8zTffDEBKSgrHjh2zHl+2bBm5ubmEh4dzzTXXlIgbPnw4ANHR0cTHx9ucW7hwIQADBw7Ex8fH5pyPjw+DBg0CYMGCBZV4ospTUiYiIuJmHOq+PM+ys7OtX/v5+Vm/3rhxIwA9evSwG9ewYUNCQ0NtygIUFBSwefPmMmMtxzdt2kRBQYEDta8YJWUiIiLisr788ksAIiIiqF69uvX4nj17AAgPDy81NiwsDIDdu3dbj+3fv5/c3NwyYy1xOTk5HDhwwIHaV4zWKbsIWKbuZpDG78bPF7g2IlXj8hvO74BbkfMpdm9RknA+lmLI4DS/F/7kQHwaALGxsXTq1KncccOGDbN2KZZXdHS0ddzY2TMpU1JSAAgODi413nIuNTW1RFxZscWPF4+takrKLgKWpt1CCkjj5IWtjEgVid52oWsgUvWKd9VVFWd9VmRlZREdHV3u8snJyRW6/pEjR7jjjjvIy8vjjjvu4J577rE5b/lZnT0mrDiz2Wyt69lxZcVa4s6OrWpKyi4CdevW5ejRo/j6+lr7z6VqxcbGkpWVhZ+fH61atbrQ1RFxKr2/z7+EhASys7NLzD50pksvvdRp1zp+/DhpaWkV+sxp0KBBucueOnWKm2++mb///ptOnToxZ86cEmUsMyYtXZH2WNY2Kz4WzRJniS3+/dlxZ8dWNSVlF4H9+/df6Cq4nU6dOhEdHU2rVq3YsmXLha6OiFPp/X1xmjdv3oWuQrmkp6dz00038eeff9KmTRt+/PFHm7FkFkFBQYBtd+TZLOcsZc/+OiUlhZCQkFLjzi5f1TTQX0RERFxCZmYmvXv3ZuPGjbRo0YKff/6ZWrVq2S3bokULAOLi4kq9nmUpDEtZgKZNm1q7LUuLtcSZzWaaNGlS8QepJCVlIiIicsFlZ2fTt29ffv31V5o2bcrKlSupX79+qeWvvPJKANatW2f3/KFDh6wTJyxlAby8vKwTFNauXWs31nL88ssvx9PTs+IPU0lKykREROSCysvLIyoqip9//plGjRqxatUqGjVqVGZM37598fb2Zu/evaxevbrE+Y8//hiADh06lFj6ol+/fgDMmTOHvLw8m3O5ubnMnj0bgP79+1f6mSpDSZmIiIhcMAUFBdx///1899131K9fn1WrVpVrAkG9evWsS2wMGTLEZi2y5cuXM2nSJAC7e2YOHz6c+vXrExcXx4gRI6wzMrOzsxkxYgTx8fGEhIQwdOhQZzxiuWmgv4iIiFwwCxYssG575Ovra93iyJ4PPviADh06WL+fNGkSW7ZsYcOGDbRp04a2bduSnp5uHRP2zDPP0Ldv3xLXCQgIYNGiRdx4443MmjWLJUuW0KxZM/bt20dqaiqBgYEsXrwYf39/Jz9t2ZSUiYiIyAVTfPmJ/fv3l7miwKlTp2y+9/PzY82aNbz33nvMnTuXPXv24OPjQ8+ePXn88ceJiooq9VrdunUjJiaGV155hRUrVrB161bq1KlD3759GTt2LM2aNXP42SrKZBjG+d/ISuRfzrJkQMeOHbVkgFx09P4WuTA0pkxERETEBSgpExEREXEBSspEREREXIAG+otUwrBhw0hOTq7QXm4i/xZ6f4tcGBroLyIiIuIC1H0pIiIi4gKUlImIiIi4ACVlIiIiIi5ASZlIBfTq1QuTycSaNWsudFVEROQio6RMLiqWpKmsV9OmTS90NUUcdq73eWmvsrawEZELS0tiyEWpcePGXHLJJXbPaZq/XAy6detm9/j69esBaNu2LTVq1Chx3tfXt0rrJSKVp6RMLkqDBw9m/PjxF7oaIlVm3bp1do+bTCYAPvjgA3r16nUeayQijlL3pYiIiIgLUFImbikhIYHJkycTGRlJkyZNMJvNBAUFcfXVVzNz5kwquqZyYWEh06dPp3v37gQFBeHt7U29evVo3749TzzxBLGxsXbjNm7cyL333kujRo0wm83Url2bW265hR9++MEZjylitX//fuu4MoAlS5bQq1cvgoODMZlM/PXXX8C5J7OsWbMGk8lUaitcXl4eU6dOpUePHgQHB2M2m2nWrBmPPvooiYmJVfBkIhcPJWXill577TVGjRrF77//jo+PDxEREdSsWZO1a9cydOhQ7rvvvgpd76GHHmL48OGsX7+ewMBA2rdvT7Vq1di9ezcffPABP/74Y4mYl19+ma5duzJ//nwyMzNp06YNHh4efP/999x8881MmDDBWY8rYmPSpEnceeed7Ny5k7CwMOrUqeOU6x4/fpzu3bszcuRI1q9fT7Vq1WjZsiVJSUl89NFHtG/fni1btjjlXiIXIyVl4paioqJYv349aWlp7N27lz/++IOEhAR2797NVVddxfz58/nqq6/Kda2//vqLefPmUb16dX755RcOHjzIpk2biIuL4/Tp0yxbtowOHTrYxMydO5dx48ZRt25dFi1aREpKCtHR0Rw9epQFCxYQGBjI+PHjWbFiRVU8vri5sWPHMmXKFA4fPsymTZtITk6mdevWDl/3nnvu4Y8//uD6668nLi6OAwcOsHXrVo4fP87gwYM5ceIE/fv3Jzc31wlPIXLxUVImF6UJEyaUuSTAzTffzFVXXYWHh+2vQIsWLfj0008BrP89l127dgEQGRnJ1VdfbXPO29ub2267jZ49e1qP5efn8/zzzwPwxRdfEBUVZRPTv39/XnnlFQDeeuutCjy1SPk8/PDDjBw50vr+9/T0xMfHx6Fr/vDDD6xcuZIWLVrwzTff0KxZM+u5wMBAPvnkEzp27EhCQgKLFy926F4iFyvNvpSLUllLYliWBDh16hRfffUVv/32G0lJSWRlZdmMJYuOji73vaBofFh8fDxhYWFllt+4cSOJiYmEhYVx7bXX2i1zxx138PTTT7N27VoKCgrw9PQsV11EymPgwIFOv+aiRYsAePDBB/H39y9x3sPDgz59+hAdHc3q1au59957nV4HkX87JWVyUTrXkhhr166lX79+HD16tNQyKSkp5bpX165dueqqq/jtt99o2bIlPXv2pGfPnnTr1o3u3btjNpttysfExFiv3717d7vXtCSHWVlZnDhxgrp165arLiLl0apVK6df0/K+njdvXqkTVY4cOQKgAf8ipVBSJm4nLS2NqKgojh07xl133cUTTzzBpZdeSo0aNfDy8qKwsBBPT0/y8vLKdT0PDw++++47Xn31VT7//HNWrVrFqlWrAKhZsyaPPfYYY8eOtXYPnTx5EoDU1FTrQp9lyczMrNyDipQiICDA6de0vK8t3fll0XtaxD6NKRO3891333Hs2DG6dOnCl19+Sbdu3ahVqxZeXkV/o5w4caLC16xRowaTJ0/m8OHD7Ny5k2nTpnHbbbeRlpbGq6++yn/+8x9r2cDAQAB69+6NYRjnfGlbKDmfLEtmFBYW2j2fkZFh97jlfb1w4cJzvqe1d6yIfUrKxO3s27cPKNqm5uyB/gC//fabQ9dv1aoVw4cPZ9myZcydOxeAGTNmkJ+fDxRtfwOwfft2h+4jUhUsrWiWrsaz7dmzx+5xy/t627ZtVVMxETegpEzcjmUQclJSUolzhmE4dcajZcxYTk6OdYxa9+7dqV+/PgcOHNAsNHE5zZs3B4ompJwtPz+fTz75xG5c//79AZg5cyanTp2qugqKXMSUlInb6dGjB1A0W2zZsmXW42lpaQwePJjNmzdX6Hpz585l/PjxxMXF2RzPzMzk1VdfBeCSSy6xLtBpNpt58803gaJZcDNnziwxfu3IkSNMmzaN1157rWIPJ+KgW2+9FShKrop3M54+fZqHH364xPvc4rbbbuOaa67h0KFDXHfddfz555825w3DIDo6mv/85z92Ez4RAQyRi0jPnj0NwBg3blyZ5e677z4DMACjadOmRqdOnQx/f3/DZDIZs2fPtp4r7fqrV6+2Hnv33Xet5evVq2d07tzZiIiIMAICAgzAMJvNxg8//FDiWm+++abh4eFhAEZAQIDRsWNH4/LLLzcaN25svd7999/v6I9E3IzlvVP8PWoYhpGQkFDq+/psffv2NQDDZDIZoaGhRseOHQ1fX1+jRo0axnvvvWcARs+ePUvEHT9+3OjRo4f1Po0aNTK6dOliREREGNWqVbMeX7FihZOeVuTiopYycUuffvopr732Gs2bN+fQoUPs37+fq6++mp9//rnCazhFRUUxefJkbrrpJvz8/Ni5cyexsbHUr1+foUOH8tdff3HjjTeWiBs9ejR//vknQ4cOpX79+uzcuZNdu3YREBBAnz59+OSTT3j33Xed9MQi5ffVV1/x0ksv0axZMw4dOkRiYiJ33nkn0dHRRERElBpXq1YtVq9ezeeff85NN91ETk4O0dHRHD58mObNmzNixAh+/PFHm8WUReQMk2FUcOdlEREREXE6tZSJiIiIuAAlZSIiIiIuQEmZiIiIiAtQUiYiIiLiApSUiYiIiLgAJWUiIiIiLkBJmYiIiIgLUFImIiIi4gKUlImIiIi4ACVlIiIiIi5ASZmImxs4cCAmk8nunp+9evXCZDIxfvz4816vqubIszVt2hSTycScOXNcpk6OWrNmDSaTCZPJdN7vLSJFlJSJOGD8+PHWD7LiL19fXxo1akSfPn1YsGAB2mK2yMmTJxk/fjzjx4/n5MmTF7o6IiIuxetCV0DkYlGvXj3r16dOneLQoUMcOnSI5cuXM2fOHJYsWYLZbL6ANay4Sy65hJYtW1K7dm2nXO/kyZNMmDABKGqhq1mzplOuKyJyMVBLmYiTHD582PrKyMhg+/btXH/99QB8//33vPjiixe4hhX32WefsWvXLh577LELXRURkYuekjKRKuDh4UGbNm1YtmwZ4eHhAHz88cfk5+df4JqJiIirUlImUoV8fX3p378/AGlpaezatQuA/fv3W8ef7d+/n/j4eIYNG0ZoaChms5mmTZuWuNY333zD7bffTkhICD4+PgQFBXH11Vczbdo08vLyyqzHvHnz6NatG9WqVaNGjRp06dKF6dOnn3OsW3kGnsfGxvLoo4/SunVrqlWrRmBgIC1btuSee+5h8eLFFBYWWq8VGhpqjQsNDbUZh9erV68S1y4oKGDOnDnceOON1KtXDx8fH+rUqcONN97I/Pnzy6x/QUEBH374IR07diQgIIDg4GB69erFokWLynxmR/39999MmTKF3r1706JFCwICAggMDKR169Y89dRT/P333+W6Tm5uLm+++SaXXXYZAQEBBAUFcf311/P999+fMzY+Pp7HH3+cVq1aERgYiL+/P61atarQ/UXkAjBEpNLGjRtnAEZZv0pTpkyxllm/fr1hGIaRkJBgPTZv3jwjMDDQAAx/f38jICDAaNKkiTU+LS3NuPXWW63lAaN69eqGyWSyft+1a1cjJSWlxL0LCwuNQYMGWcuZTCYjKCjI8PDwMADjnnvuMQYMGGAAxoABA0rE9+zZ0wCMcePG2X22N99803otwPD19TWqVatmU9fU1FTDMAzjjjvuMGrXrm09Xrt2baNevXrW1x133GFz7cOHDxtdunSxuVaNGjVsvu/Tp4+Rk5NTol7Z2dnGjTfeaC3n4eFh1KxZ0/ozGz169DmfrSxNmjQxAGP27Nml/syK17n4z6hGjRrG2rVr7V7XEvv8888bPXr0MADDy8vLqFmzps01y6rz9OnTDW9vb2tZs9ls+Pn52bx3fvrppxJxq1evPud7WUSqln77RBxQnqTsueees5aJjY01DMM2KQsMDDS6dOlibNq0yRqze/du69e33367ARjh4eHGF198YZw+fdowDMPIysoyli5dajRr1swAjNtvv73Evd9//33rfR577DHj2LFjhmEYxsmTJ43x48cbJpPJ+oFf0aTso48+skmO/vzzT+u5EydOGD/99JNx9913G6dOnbIeL/7cCQkJpf7McnJyjMsvv9wAjI4dOxrffvutkZGRYRiGYaSnpxuffvqpUbduXQMwnnrqqRLxTz/9tDUJffXVV611OHLkiPHII4/YJHjOTsoeffRR48033zR27txpZGZmGoZhGHl5ecbvv/9u3HTTTQZghISEWM8VZ/l516hRwzCbzca0adOMrKwswzAM4++//zb69etn/fktXbq0RPySJUsMwPD29jbGjBlj7N+/3ygsLDQKCwuNXbt2Gf3797cm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z+HFF18stW5z5841/P39bX4+tWrVMsxms801Xn31VZs4LR4rcuGppUzExfn7+/Pll1+yevVqHnzwQZo1a0ZhYSHp6enUrVuXyMhIJk2axN69e0sspeDh4cFnn33GZ599xpVXXomfnx/5+fl07NiRadOm8cUXXzhUt+eff56YmBgefvhh61pohmHQsmVL7r33Xr7++usSa4W98MILvP/++3Tu3Blvb28SExM5cOBAiQHwtWvX5ueff2bp0qX069ePxo0bk5OTQ1ZWFg0bNuTmm2/mww8/tDvZwNfXl++//57333+f9u3b4+Pjg2EY9OjRgwULFvDmm2869Nyl8fb25qeffmLcuHG0aNECb29vDMPgiiuuYOrUqSxbtqzU2bbF+fj4sHLlSl5//XVatmxJTk4ONWrU4Nprr+Xbb78ttTsa4P777ycuLo4XX3yRzp07ExgYyMmTJ/H19aV9+/Y89thj/Pzzz4wePdqZjy4iTmAyjHIOBhERERGRKqOWMhEREREXoKRMRERExAUoKRMRERFxAUrKRERERFyAkjIRERERF6CkTERERMQFKCkTERERcQFKykRERERcgJIyERERERegpExERETEBSgpExEREXEBSspEREREXICSMhEREREX8P/rT4wZ8OFNygAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "ConfusionMatrixDisplay.from_estimator(cls, test_X, test_y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "second-senator",
   "metadata": {
    "id": "second-senator"
   },
   "source": [
    "Plot an ROC cure to show the classifier performance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "educational-relay",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 894
    },
    "id": "educational-relay",
    "outputId": "6117d170-f116-4c55-e664-b1cf122ae8c4"
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 700x700 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Original code\n",
    "#plot_roc_curve(cls,test_X,test_y)\n",
    "\n",
    "# Updated code for scikit_learn version 1.2 onwards\n",
    "plt.rcParams['figure.figsize'] = [7, 7]\n",
    "RocCurveDisplay.from_estimator(cls, test_X, test_y)\n",
    "plt.tight_layout()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "seasonal-retro",
   "metadata": {
    "id": "seasonal-retro"
   },
   "source": [
    "Use the default view from SciKit Learn to plot the decision tree"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "physical-ordering",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 932
    },
    "id": "physical-ordering",
    "outputId": "2920e4b9-c19f-42d6-dce7-79f55920e25e"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[Text(0.5, 0.8333333333333334, 'LogP <= 3.009\\ngini = 0.443\\nsamples = 7486\\nvalue = [2483, 5003]'),\n",
       " Text(0.25, 0.5, 'LogP <= 2.669\\ngini = 0.214\\nsamples = 4980\\nvalue = [608, 4372]'),\n",
       " Text(0.125, 0.16666666666666666, 'gini = 0.172\\nsamples = 4526\\nvalue = [429, 4097]'),\n",
       " Text(0.375, 0.16666666666666666, 'gini = 0.478\\nsamples = 454\\nvalue = [179, 275]'),\n",
       " Text(0.75, 0.5, 'LogP <= 3.701\\ngini = 0.377\\nsamples = 2506\\nvalue = [1875, 631]'),\n",
       " Text(0.625, 0.16666666666666666, 'gini = 0.493\\nsamples = 740\\nvalue = [414.0, 326.0]'),\n",
       " Text(0.875, 0.16666666666666666, 'gini = 0.286\\nsamples = 1766\\nvalue = [1461, 305]')]"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxoAAAMWCAYAAAB2gvApAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAADuoUlEQVR4nOzdd1RUx9sH8O9Sl94FBAUrKhYwiF3EGjuWaOzEXqPGEjX2rknU2I0FEESKHXvDjrGLijVYYkPFgiAqsPP+4cv+XEGKLlzK93POniNz5859Li47+9yZuVcmhBAgIiIiIiJSIw2pAyAiIiIiooKHiQYREREREakdEw0iIiIiIlI7JhpERERERKR2TDSIiIiIiEjtmGgQEREREZHaMdEgIiIiIiK1Y6JBRERERERqx0SDiIiIiIjUjokGERERERGpHRMNIiIiIiJSOyYaRERERESkdkw0iIiIiIhI7ZhoEBERERGR2jHRICIiIiIitWOiQUREREREasdEg4iIiIiI1I6JBhERERERqR0TDSIiIiIiUjsmGkREREREpHZMNIiIiIiISO2YaBARERERkdox0SAiIiIiIrVjokFERERERGrHRIOIiIiIiNSOiQYREREREakdEw0iIiIiIlI7JhpERERERKR2TDSIiIiIiEjtmGgQEREREZHaMdEgIiIiIiK1Y6JBRERERERqx0SDiIiIiIjUjokGERERERGpHRMNIiIiIiJSOyYaRERERESkdkw0iIiIiIhI7ZhoEBERERGR2jHRICIiIiIitWOiQUREREREasdEg4iIiIiI1I6JBhERERERqR0TDSIiIiIiUjsmGkREREREpHZMNIiIiIiISO2YaBARERERkdox0SAiIiIiIrVjokFERERERGrHRIOIiIiIiNSOiQYREREREakdEw0iIiIiIlI7JhpERERERKR2TDSIiIiIiEjtmGgQEREREZHaMdEgIiIiIiK1Y6JBRERERERqx0SDiIiIiIjUjokGERERERGpHRMNIiIiIiJSOyYaRERERESkdkw0iIiIiIhI7ZhoEBERERGR2jHRICIiIiIitWOiQUREREREasdEg4iIiIiI1I6JBhERERERqR0TDSIiIiIiUjsmGkREREREpHZMNIiIiIiISO2YaBARERERkdox0SAiIiIiIrVjokFERERERGrHRIOIiIiIiNSO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0WqP3E+dYpuXp81L8Vfn/EUIIaKiooS1tbW4fft2pds9cuSICAkJEY6OjsLOzk4EBQWJnTt3lllPH+dEQuimzSqE+P9OXnWUk5MDR0dHAA8HgZWedMeUNGnSBB06dOAEQiZAX22WuUGGoi5t0VzacV0wB0xfTfLAHHKGbd606KLNGvYIEiIiIiIiMkosNIiIiIiISOsMfjC4obl06ZLcIRAZJOYGmTvmAJkbtnmqCu9oEBERERGR1rHQICIiIiIirTPKQmPSpElafx64vk2fPh0KhQIKhaLSyWLOnj0LOzs7KBQKHDlyROO1LVu2YNKkSWjVqhXs7e3RqFEjjB07FmfOnCmznYKCArz77rto3LgxlEolWrRogdmzZ0OlUmnl+1QWJwDcv38fU6dOhbe3N+zs7NC1a1ds2LCh1nFOmjRJ/fuV91d6plIPDw/18ldffVUr39dQmXpuxMbGYsyYMWjevDkUCkWFc0zUpH1oOzfu37+Pjz76CL1790b9+vVRr149dOzYET/99BOKi4trHWefPn3KXefRCam+//57jdczMzNr9T3kZOrtuLTK9p3Xrl3DK6+8gl69esHR0REKhQLbt2+v8rOr2h+XRwiBr776Ci1btoRSqUTLli3x1VdfobYPpkxPT8eoUaPQokULODo6wsnJCR07dsT3339fJrd+/fVXhIaGws/PD3Z2dvD398cbb7yBjIyMcrd9/vx5REVFwcvLC0qlEo0bN8aLL75YrbiqeywypuOGqedLdff7j3rqqaegUCgQHh5e7uv379/HO++8g+bNm0OpVKJ+/foYNGgQ7t27p16ntjlYmT179iAkJAS+vr6wtbWFp6cngoODsX79+nLX37BhA7p27Qo7Ozt4e3tj6tSpuH//vsY627dvr/A4kp6errGuvts2x2jILCUlRWP27NKEEHjmmWfg6uqKmzdvlnn9559/Rnp6Ol577TW0adMGN2/exCeffILOnTtj7969aNeunXrd0aNHY9OmTfjwww/RpUsX7N69G9OnT8e1a9fw448/1uk7VBWnEALh4eE4duwYPv/8czRu3Bi//PILhg0bhuTkZAQHB9c4zg8++ADPP/+8xucUFRUhJCQEjz/+uMZspBs3bkRRURGeeOKJOn1P0q/yciMuLg5paWno3bs3cnJyKnxvTdqHtnPjypUrmDNnDqKiovDGG2/A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AIh33nmnxt+pojiFECIrK0u88MILwtPTUyiVShEYGCiSkpLKrFfdOCW9evUSHh4eorCwsMr4YMAT9jE3/lFZbkivlfdX+neQVKd9aDs3pImTtBnn33//LQYPHix8fHyEjY2NsLOzE506dRLfffedxkROpckxYR/b8T+0sY8XQlR7H1/dbUrtc9q0aRrLS0pKxJdffimaN28urK2tRfPmzcWXX35ZZmK87777TgAQGzZsqPTzN23aJEJCQoS3t7ewtrYWjo6OIjAwUMyZM0djsr7KviMAERMTU2bbP/30k2jTpo2wsbER9evXF88880yZ9ib9/o+2jeoei0rHpqsJ+5gv/9Dmfr+0iibsE+JhLvTs2VPY2dmJevXqiaFDh4pjx46VWa+6ORgRESHs7Ow09rnl+e6770T37t2Fm5ubsLS0FG5ubmLgwIFizZo15a6flJQkAgMDhVKpFJ6enuKFF14QWVlZGut88sknon379sLZ2VlYWloKb29vERkZKU6fPl1hHI+2bSF0c15klDODmwIpcYqKikRxcbHc4aj99NNPwsHBQdy6dUvuULSmuLhYFBUVGXShQf9gbtRNSUmJKCoqEh988IHeCw36h6G247oaO3ZshbNomxJtHDeYM9VnCvni7e0t3njjDbnDqFJFbVsII50ZnCpnbW0NLy8vucNQ2759O15++WWDiqmuvLy8YG1tLXcYVEPMjdr54YcfYG1tXeVcBaQfhtaO62rHjh1G+YS/muJxQx7Gmi+nT59GTk4O3n77bblDqZK+27ZCiP9/bEkd5eTkwNHREQCQnZ1dbn96+seNGzfUk8ZYW1vX+XnYVLGjR4+iqKgIwMMEa9SoEQD9tVnmRs0wN+rmzp07uHz5svrfHTt2VA92rEtbZDuuGbZj46aN4wZzpvqYL/pTUdsGdNNmWWiQ2WKhQeaGhQZR3bDQIFOmizark6dO5eTk6GKzRFolRztlbpCctNX+2I7JXNW27TNnyBjoop3qpNAwxv51RPrA3CBTwHZMVDPMGTJXHAxORERERERap7UxGkII5ObmamNTRHpnb28PhUKhk20zN8gQ1bTNsx0Taaoqh5gzZMy0dV6ktUKDiIiIiIhIwq5TRERERESkdSw0iIiIiIhI61hoEBERERGR1rHQICIiIiIirWOhQUREREREWsdCg4iIiIiItI6FBhERERERaR0LDSIiIiIi0joWGkREREREpHUsNIiIiIiISOtYaBARERERkdax0CAiIiIiIq1joUFERERERFrHQoOIiIiIiLSOhQYREREREWkdCw0iIiIiItI6FhpERERERKR1LDSIiIiIiEjrWGgQEREREZHWsdAgIiIiIiKtY6FBRERERERax0KDiIiIiIi0joUGERERERFpHQsNIiIiIiLSOhYaRERERESkdSw0iIiIiIhI61hoEBERERGR1rHQICIiIiIirWOhQUREREREWsdCg4iIiIiItI6FBhERERERaR0LDSIiIiIi0joWGkREREREpHUsNIiIiIiISOtYaBARERERkdax0CAiIiIiIq1joUFERERERFrHQoOIiIiIiLSOhQYREREREWkdCw0iIiIiItI6FhpERERERKR1LDSIiIiIiEjrWGgQEREREZHWsdAgIiIiIiKtY6FBRERERERax0KDiIiIiIi0joUGERERERFpHQsNIiIiIiLSOhYaRERERESkdSw0iIiIiIhI61hoEBERERGR1rHQICIiIiIirWOhQUREREREWsdCg4iIiIiItI6FBhERERERaR0LDSIiIiIi0joWGkREREREpHUsNIiIiIiISOtYaBARERERkdax0CAiIiIiIq1joUFERERERFrHQoOIiIiIiLSOhQYREREREWkdCw0iIiIiItI6FhpERERERKR1LDSIiIiIiEjrWGgQEREREZHWsdAgIiIiIiKtY6FBRERERERax0KDiIiIiIi0joUGERERERFpHQsNIiIiIiLSOhYaRERERESkdSw0iIiIiIhI61hoEBERERGR1rHQICIiIiIirWOhQUREREREWsdCg4iIiIiItI6FBhERERERaR0LDSIiIiIi0joWGkREREREpHUsNIiIiIiISOtYaBARERERkdax0CAiIiIiIq1joUFERERERFrHQoOIiIiIiLSOhQYREREREWkdCw0iIiIiItI6FhpERERERKR1LDSIiIiIiEjrWGgQEREREZHWsdAgIiIiIiKtY6FBRERERERax0KDiIiIiIi0joUGERERERFpHQsNIiIiIiLSOhYaRERERESkdSw0iIiIiIhI61hoEBERERGR1rHQICIiIiIirWOhQUREREREWsdCg4iIiIiItI6FBhERERERaR0LDSIiIiIi0joWGkREREREpHUsNIiIiIiISOtYaBARERERkdb9H7seCAPwhZ/aAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x1000 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams[\"figure.figsize\"] = (10,10)\n",
    "plot_tree(cls,feature_names=desc_cols)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "nuclear-preservation",
   "metadata": {
    "id": "nuclear-preservation"
   },
   "source": [
    "Use dtreeviz to plot the decision tree"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "appropriate-trinidad",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "id": "appropriate-trinidad",
    "outputId": "db10d839-8327-48c8-907d-31eaf9defba8"
   },
   "outputs": [
    {
     "data": {
      "image/svg+xml": [
       "<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:ns2=\"http://creativecommons.org/ns#\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"740.0\" height=\"654.0\" viewBox=\"0.0 0.0 740.0 653.5\">\n",
       "<g id=\"graph0\" class=\"graph\" transform=\"scale(2 2) rotate(0) translate(4 322.75)\">\n",
       "<title>G</title>\n",
       "<polygon fill=\"white\" stroke=\"none\" points=\"-4,4 -4,-322.75 366,-322.75 366,4 -4,4\" />\n",
       "<g id=\"clust4\" class=\"cluster\">\n",
       "<title>cluster_legend</title>\n",
       "</g>\n",
       "\n",
       "<g id=\"node1\" class=\"node\">\n",
       "<title>node1</title>\n",
       "<svg width=\"160px\" height=\"79px\" viewBox=\"0 0 214.435 106.18995\" version=\"1.1\" preserveAspectRatio=\"xMinYMin meet\" x=\"15\" y=\"-183\">\n",
       " <metadata>\n",
       "  <rdf:RDF>\n",
       "   <ns2:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n",
       "    <dc:date>2024-04-28T21:43:20.950810</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <ns2:Agent>\n",
       "      <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>\n",
       "     </ns2:Agent>\n",
       "    </dc:creator>\n",
       "   </ns2:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 106.18995  L 214.435 106.18995  L 214.435 0  L 0 0  z \" style=\"fill: #ffffff\" />\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 30.295 66.7587  L 214.435 66.7587  L 214.435 0  L 30.295 0  z \" style=\"fill: #ffffff\" />\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 46.307174 66.7587  L 54.313261 66.7587  L 54.313261 66.7587  L 46.307174 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 54.313261 66.7587  L 62.319348 66.7587  L 62.319348 66.7587  L 54.313261 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 62.319348 66.7587  L 70.325435 66.7587  L 70.325435 66.7587  L 62.319348 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 70.325435 66.7587  L 78.331522 66.7587  L 78.331522 66.7587  L 70.325435 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_7\">\n",
       "    <path d=\"M 78.331522 66.7587  L 86.337609 66.7587  L 86.337609 66.7587  L 78.331522 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_8\">\n",
       "    <path d=\"M 86.337609 66.7587  L 94.343696 66.7587  L 94.343696 66.670578  L 86.337609 66.670578  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_9\">\n",
       "    <path d=\"M 94.343696 66.7587  L 102.349783 66.7587  L 102.349783 64.247235  L 94.343696 64.247235  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_10\">\n",
       "    <path d=\"M 102.349783 66.7587  L 110.35587 66.7587  L 110.35587 62.352621  L 102.349783 62.352621  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_11\">\n",
       "    <path d=\"M 110.35587 66.7587  L 118.361957 66.7587  L 118.361957 60.369886  L 110.35587 60.369886  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_12\">\n",
       "    <path d=\"M 118.361957 66.7587  L 126.368043 66.7587  L 126.368043 66.7587  L 118.361957 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_13\">\n",
       "    <path d=\"M 126.368043 66.7587  L 134.37413 66.7587  L 134.37413 66.7587  L 126.368043 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_14\">\n",
       "    <path d=\"M 134.37413 66.7587  L 142.380217 66.7587  L 142.380217 66.7587  L 134.37413 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_15\">\n",
       "    <path d=\"M 142.380217 66.7587  L 150.386304 66.7587  L 150.386304 66.7587  L 142.380217 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_16\">\n",
       "    <path d=\"M 150.386304 66.7587  L 158.392391 66.7587  L 158.392391 66.7587  L 150.386304 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_17\">\n",
       "    <path d=\"M 158.392391 66.7587  L 166.398478 66.7587  L 166.398478 66.7587  L 158.392391 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_18\">\n",
       "    <path d=\"M 166.398478 66.7587  L 174.404565 66.7587  L 174.404565 66.7587  L 166.398478 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_19\">\n",
       "    <path d=\"M 174.404565 66.7587  L 182.410652 66.7587  L 182.410652 66.7587  L 174.404565 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_20\">\n",
       "    <path d=\"M 182.410652 66.7587  L 190.416739 66.7587  L 190.416739 66.7587  L 182.410652 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_21\">\n",
       "    <path d=\"M 190.416739 66.7587  L 198.422826 66.7587  L 198.422826 66.7587  L 190.416739 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_22\">\n",
       "    <path d=\"M 46.307174 66.7587  L 54.313261 66.7587  L 54.313261 66.714639  L 46.307174 66.714639  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_23\">\n",
       "    <path d=\"M 54.313261 66.7587  L 62.319348 66.7587  L 62.319348 66.7587  L 54.313261 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_24\">\n",
       "    <path d=\"M 62.319348 66.7587  L 70.325435 66.7587  L 70.325435 66.7587  L 62.319348 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_25\">\n",
       "    <path d=\"M 70.325435 66.7587  L 78.331522 66.7587  L 78.331522 66.626517  L 70.325435 66.626517  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_26\">\n",
       "    <path d=\"M 78.331522 66.7587  L 86.337609 66.7587  L 86.337609 66.582456  L 78.331522 66.582456  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_27\">\n",
       "    <path d=\"M 86.337609 66.670578  L 94.343696 66.670578  L 94.343696 64.820025  L 86.337609 64.820025  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_28\">\n",
       "    <path d=\"M 94.343696 64.247235  L 102.349783 64.247235  L 102.349783 46.534799  L 94.343696 46.534799  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_29\">\n",
       "    <path d=\"M 102.349783 62.352621  L 110.35587 62.352621  L 110.35587 3.178986  L 102.349783 3.178986  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_30\">\n",
       "    <path d=\"M 110.35587 60.369886  L 118.361957 60.369886  L 118.361957 43.142118  L 110.35587 43.142118  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_31\">\n",
       "    <path d=\"M 118.361957 66.7587  L 126.368043 66.7587  L 126.368043 66.7587  L 118.361957 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_32\">\n",
       "    <path d=\"M 126.368043 66.7587  L 134.37413 66.7587  L 134.37413 66.7587  L 126.368043 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_33\">\n",
       "    <path d=\"M 134.37413 66.7587  L 142.380217 66.7587  L 142.380217 66.7587  L 134.37413 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_34\">\n",
       "    <path d=\"M 142.380217 66.7587  L 150.386304 66.7587  L 150.386304 66.7587  L 142.380217 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_35\">\n",
       "    <path d=\"M 150.386304 66.7587  L 158.392391 66.7587  L 158.392391 66.7587  L 150.386304 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_36\">\n",
       "    <path d=\"M 158.392391 66.7587  L 166.398478 66.7587  L 166.398478 66.7587  L 158.392391 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_37\">\n",
       "    <path d=\"M 166.398478 66.7587  L 174.404565 66.7587  L 174.404565 66.7587  L 166.398478 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_38\">\n",
       "    <path d=\"M 174.404565 66.7587  L 182.410652 66.7587  L 182.410652 66.7587  L 174.404565 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_39\">\n",
       "    <path d=\"M 182.410652 66.7587  L 190.416739 66.7587  L 190.416739 66.7587  L 182.410652 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_40\">\n",
       "    <path d=\"M 190.416739 66.7587  L 198.422826 66.7587  L 198.422826 66.7587  L 190.416739 66.7587  z \" clip-path=\"url(#pacf73f5558)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_41\">\n",
       "    <path d=\"M 111.95292 67.5903  L 108.6384 75.9063  L 115.26744 75.9063  z \" style=\"fill: #444443\" />\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <defs>\n",
       "       <path id=\"m4da08fb71e\" d=\"M 0 0  L 0 9  \" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use xlink:href=\"#m4da08fb71e\" x=\"46.307174\" y=\"66.7587\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_1\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(33.962174 89.48495) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-2212\" d=\"M 3381 1997  L 356 1997  L 356 2522  L 3381 2522  L 3381 1997  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-31\" d=\"M 2384 0  L 1822 0  L 1822 3584  Q 1619 3391 1289 3197  Q 959 3003 697 2906  L 697 3450  Q 1169 3672 1522 3987  Q 1875 4303 2022 4600  L 2384 4600  L 2384 0  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-35\" d=\"M 266 1200  L 856 1250  Q 922 819 1161 601  Q 1400 384 1738 384  Q 2144 384 2425 690  Q 2706 997 2706 1503  Q 2706 1984 2436 2262  Q 2166 2541 1728 2541  Q 1456 2541 1237 2417  Q 1019 2294 894 2097  L 366 2166  L 809 4519  L 3088 4519  L 3088 3981  L 1259 3981  L 1013 2750  Q 1425 3038 1878 3038  Q 2478 3038 2890 2622  Q 3303 2206 3303 1553  Q 3303 931 2941 478  Q 2500 -78 1738 -78  Q 1113 -78 717 272  Q 322 622 266 1200  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-2e\" d=\"M 581 0  L 581 641  L 1222 641  L 1222 0  L 581 0  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-32\" d=\"M 3222 541  L 3222 0  L 194 0  Q 188 203 259 391  Q 375 700 629 1000  Q 884 1300 1366 1694  Q 2113 2306 2375 2664  Q 2638 3022 2638 3341  Q 2638 3675 2398 3904  Q 2159 4134 1775 4134  Q 1369 4134 1125 3890  Q 881 3647 878 3216  L 300 3275  Q 359 3922 746 4261  Q 1134 4600 1788 4600  Q 2447 4600 2831 4234  Q 3216 3869 3216 3328  Q 3216 3053 3103 2787  Q 2991 2522 2730 2228  Q 2469 1934 1863 1422  Q 1356 997 1212 845  Q 1069 694 975 541  L 3222 541  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-33\" d=\"M 269 1209  L 831 1284  Q 928 806 1161 595  Q 1394 384 1728 384  Q 2125 384 2398 659  Q 2672 934 2672 1341  Q 2672 1728 2419 1979  Q 2166 2231 1775 2231  Q 1616 2231 1378 2169  L 1441 2663  Q 1497 2656 1531 2656  Q 1891 2656 2178 2843  Q 2466 3031 2466 3422  Q 2466 3731 2256 3934  Q 2047 4138 1716 4138  Q 1388 4138 1169 3931  Q 950 3725 888 3313  L 325 3413  Q 428 3978 793 4289  Q 1159 4600 1703 4600  Q 2078 4600 2393 4439  Q 2709 4278 2876 4000  Q 3044 3722 3044 3409  Q 3044 3113 2884 2869  Q 2725 2625 2413 2481  Q 2819 2388 3044 2092  Q 3269 1797 3269 1353  Q 3269 753 2831 336  Q 2394 -81 1725 -81  Q 1122 -81 723 278  Q 325 638 269 1209  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-2212\" />\n",
       "       <use xlink:href=\"#ArialMT-31\" x=\"58.398438\" />\n",
       "       <use xlink:href=\"#ArialMT-35\" x=\"114.013672\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"169.628906\" />\n",
       "       <use xlink:href=\"#ArialMT-32\" x=\"197.412109\" />\n",
       "       <use xlink:href=\"#ArialMT-33\" x=\"253.027344\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_2\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m4da08fb71e\" x=\"111.95292\" y=\"66.7587\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(104.168545 89.48495) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-36\" d=\"M 3184 3459  L 2625 3416  Q 2550 3747 2413 3897  Q 2184 4138 1850 4138  Q 1581 4138 1378 3988  Q 1113 3794 959 3422  Q 806 3050 800 2363  Q 1003 2672 1297 2822  Q 1591 2972 1913 2972  Q 2475 2972 2870 2558  Q 3266 2144 3266 1488  Q 3266 1056 3080 686  Q 2894 316 2569 119  Q 2244 -78 1831 -78  Q 1128 -78 684 439  Q 241 956 241 2144  Q 241 3472 731 4075  Q 1159 4600 1884 4600  Q 2425 4600 2770 4297  Q 3116 3994 3184 3459  z M 888 1484  Q 888 1194 1011 928  Q 1134 663 1356 523  Q 1578 384 1822 384  Q 2178 384 2434 671  Q 2691 959 2691 1453  Q 2691 1928 2437 2201  Q 2184 2475 1800 2475  Q 1419 2475 1153 2201  Q 888 1928 888 1484  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-37\" d=\"M 303 3981  L 303 4522  L 3269 4522  L 3269 4084  Q 2831 3619 2401 2847  Q 1972 2075 1738 1259  Q 1569 684 1522 0  L 944 0  Q 953 541 1156 1306  Q 1359 2072 1739 2783  Q 2119 3494 2547 3981  L 303 3981  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-32\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-36\" x=\"83.398438\" />\n",
       "       <use xlink:href=\"#ArialMT-37\" x=\"139.013672\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m4da08fb71e\" x=\"198.422826\" y=\"66.7587\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(188.414076 89.48495) scale(0.08 -0.08)\">\n",
       "       <use xlink:href=\"#ArialMT-32\" />\n",
       "       <use xlink:href=\"#ArialMT-36\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"111.230469\" />\n",
       "       <use xlink:href=\"#ArialMT-32\" x=\"139.013672\" />\n",
       "       <use xlink:href=\"#ArialMT-35\" x=\"194.628906\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_4\">\n",
       "     \n",
       "     <g style=\"fill: #444443\" transform=\"translate(108.353125 103.664325) scale(0.12 -0.12)\">\n",
       "      <defs>\n",
       "       <path id=\"ArialMT-4c\" d=\"M 469 0  L 469 4581  L 1075 4581  L 1075 541  L 3331 541  L 3331 0  L 469 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-6f\" d=\"M 213 1659  Q 213 2581 725 3025  Q 1153 3394 1769 3394  Q 2453 3394 2887 2945  Q 3322 2497 3322 1706  Q 3322 1066 3130 698  Q 2938 331 2570 128  Q 2203 -75 1769 -75  Q 1072 -75 642 372  Q 213 819 213 1659  z M 791 1659  Q 791 1022 1069 705  Q 1347 388 1769 388  Q 2188 388 2466 706  Q 2744 1025 2744 1678  Q 2744 2294 2464 2611  Q 2184 2928 1769 2928  Q 1347 2928 1069 2612  Q 791 2297 791 1659  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-67\" d=\"M 319 -275  L 866 -356  Q 900 -609 1056 -725  Q 1266 -881 1628 -881  Q 2019 -881 2231 -725  Q 2444 -569 2519 -288  Q 2563 -116 2559 434  Q 2191 0 1641 0  Q 956 0 581 494  Q 206 988 206 1678  Q 206 2153 378 2554  Q 550 2956 876 3175  Q 1203 3394 1644 3394  Q 2231 3394 2613 2919  L 2613 3319  L 3131 3319  L 3131 450  Q 3131 -325 2973 -648  Q 2816 -972 2473 -1159  Q 2131 -1347 1631 -1347  Q 1038 -1347 672 -1080  Q 306 -813 319 -275  z M 784 1719  Q 784 1066 1043 766  Q 1303 466 1694 466  Q 2081 466 2343 764  Q 2606 1063 2606 1700  Q 2606 2309 2336 2618  Q 2066 2928 1684 2928  Q 1309 2928 1046 2623  Q 784 2319 784 1719  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-50\" d=\"M 494 0  L 494 4581  L 2222 4581  Q 2678 4581 2919 4538  Q 3256 4481 3484 4323  Q 3713 4166 3852 3881  Q 3991 3597 3991 3256  Q 3991 2672 3619 2267  Q 3247 1863 2275 1863  L 1100 1863  L 1100 0  L 494 0  z M 1100 2403  L 2284 2403  Q 2872 2403 3119 2622  Q 3366 2841 3366 3238  Q 3366 3525 3220 3729  Q 3075 3934 2838 4000  Q 2684 4041 2272 4041  L 1100 4041  L 1100 2403  z \" transform=\"scale(0.015625)\" />\n",
       "      </defs>\n",
       "      <use xlink:href=\"#ArialMT-4c\" />\n",
       "      <use xlink:href=\"#ArialMT-6f\" x=\"55.615234\" />\n",
       "      <use xlink:href=\"#ArialMT-67\" x=\"111.230469\" />\n",
       "      <use xlink:href=\"#ArialMT-50\" x=\"166.845703\" />\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <defs>\n",
       "       <path id=\"m5ffeffb5b8\" d=\"M 0 0  L -9 0  \" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use xlink:href=\"#m5ffeffb5b8\" x=\"30.295\" y=\"66.7587\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(13.34625 69.621825) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-30\" d=\"M 266 2259  Q 266 3072 433 3567  Q 600 4063 929 4331  Q 1259 4600 1759 4600  Q 2128 4600 2406 4451  Q 2684 4303 2865 4023  Q 3047 3744 3150 3342  Q 3253 2941 3253 2259  Q 3253 1453 3087 958  Q 2922 463 2592 192  Q 2263 -78 1759 -78  Q 1097 -78 719 397  Q 266 969 266 2259  z M 844 2259  Q 844 1131 1108 757  Q 1372 384 1759 384  Q 2147 384 2411 759  Q 2675 1134 2675 2259  Q 2675 3391 2411 3762  Q 2147 4134 1753 4134  Q 1366 4134 1134 3806  Q 844 3388 844 2259  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-30\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m5ffeffb5b8\" x=\"30.295\" y=\"3.178986\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_6\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(0 6.042111) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-38\" d=\"M 1131 2484  Q 781 2613 612 2850  Q 444 3088 444 3419  Q 444 3919 803 4259  Q 1163 4600 1759 4600  Q 2359 4600 2725 4251  Q 3091 3903 3091 3403  Q 3091 3084 2923 2848  Q 2756 2613 2416 2484  Q 2838 2347 3058 2040  Q 3278 1734 3278 1309  Q 3278 722 2862 322  Q 2447 -78 1769 -78  Q 1091 -78 675 323  Q 259 725 259 1325  Q 259 1772 486 2073  Q 713 2375 1131 2484  z M 1019 3438  Q 1019 3113 1228 2906  Q 1438 2700 1772 2700  Q 2097 2700 2305 2904  Q 2513 3109 2513 3406  Q 2513 3716 2298 3927  Q 2084 4138 1766 4138  Q 1444 4138 1231 3931  Q 1019 3725 1019 3438  z M 838 1322  Q 838 1081 952 856  Q 1066 631 1291 507  Q 1516 384 1775 384  Q 2178 384 2440 643  Q 2703 903 2703 1303  Q 2703 1709 2433 1975  Q 2163 2241 1756 2241  Q 1359 2241 1098 1978  Q 838 1716 838 1322  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-32\" />\n",
       "       <use xlink:href=\"#ArialMT-38\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-38\" x=\"111.230469\" />\n",
       "       <use xlink:href=\"#ArialMT-36\" x=\"166.845703\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"patch_42\">\n",
       "    <path d=\"M 30.295 66.7587  L 30.295 0  \" style=\"fill: none; stroke: #444443; stroke-width: 0.3; stroke-linejoin: miter; stroke-linecap: square\" />\n",
       "   </g>\n",
       "   <g id=\"patch_43\">\n",
       "    <path d=\"M 30.295 66.7587  L 214.435 66.7587  \" style=\"fill: none; stroke: #444443; stroke-width: 0.3; stroke-linejoin: miter; stroke-linecap: square\" />\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"pacf73f5558\">\n",
       "   <rect x=\"30.295\" y=\"0\" width=\"184.14\" height=\"66.7587\" />\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg></g>\n",
       "\n",
       "<g id=\"node2\" class=\"node\">\n",
       "<title>node4</title>\n",
       "<svg width=\"160px\" height=\"51px\" viewBox=\"0 0 214.435 68.694375\" version=\"1.1\" preserveAspectRatio=\"xMinYMin meet\" x=\"197\" y=\"-169\">\n",
       " <metadata>\n",
       "  <rdf:RDF>\n",
       "   <ns2:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n",
       "    <dc:date>2024-04-28T21:43:21.027702</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <ns2:Agent>\n",
       "      <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>\n",
       "     </ns2:Agent>\n",
       "    </dc:creator>\n",
       "   </ns2:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 68.694375  L 214.435 68.694375  L 214.435 0  L 0 0  z \" style=\"fill: #ffffff\" />\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 30.295 29.263125  L 214.435 29.263125  L 214.435 1.543125  L 30.295 1.543125  z \" style=\"fill: #ffffff\" />\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 46.307174 29.263125  L 54.313261 29.263125  L 54.313261 29.263125  L 46.307174 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 54.313261 29.263125  L 62.319348 29.263125  L 62.319348 29.263125  L 54.313261 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 62.319348 29.263125  L 70.325435 29.263125  L 70.325435 29.263125  L 62.319348 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 70.325435 29.263125  L 78.331522 29.263125  L 78.331522 29.263125  L 70.325435 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_7\">\n",
       "    <path d=\"M 78.331522 29.263125  L 86.337609 29.263125  L 86.337609 29.263125  L 78.331522 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_8\">\n",
       "    <path d=\"M 86.337609 29.263125  L 94.343696 29.263125  L 94.343696 29.263125  L 86.337609 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_9\">\n",
       "    <path d=\"M 94.343696 29.263125  L 102.349783 29.263125  L 102.349783 29.263125  L 94.343696 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_10\">\n",
       "    <path d=\"M 102.349783 29.263125  L 110.35587 29.263125  L 110.35587 29.263125  L 102.349783 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_11\">\n",
       "    <path d=\"M 110.35587 29.263125  L 118.361957 29.263125  L 118.361957 12.087953  L 110.35587 12.087953  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_12\">\n",
       "    <path d=\"M 118.361957 29.263125  L 126.368043 29.263125  L 126.368043 16.235079  L 118.361957 16.235079  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_13\">\n",
       "    <path d=\"M 126.368043 29.263125  L 134.37413 29.263125  L 134.37413 23.942665  L 126.368043 23.942665  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_14\">\n",
       "    <path d=\"M 134.37413 29.263125  L 142.380217 29.263125  L 142.380217 28.089792  L 134.37413 28.089792  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_15\">\n",
       "    <path d=\"M 142.380217 29.263125  L 150.386304 29.263125  L 150.386304 28.716918  L 142.380217 28.716918  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_16\">\n",
       "    <path d=\"M 150.386304 29.263125  L 158.392391 29.263125  L 158.392391 28.878757  L 150.386304 28.878757  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_17\">\n",
       "    <path d=\"M 158.392391 29.263125  L 166.398478 29.263125  L 166.398478 29.141746  L 158.392391 29.141746  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_18\">\n",
       "    <path d=\"M 166.398478 29.263125  L 174.404565 29.263125  L 174.404565 29.121516  L 166.398478 29.121516  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_19\">\n",
       "    <path d=\"M 174.404565 29.263125  L 182.410652 29.263125  L 182.410652 29.263125  L 174.404565 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_20\">\n",
       "    <path d=\"M 182.410652 29.263125  L 190.416739 29.263125  L 190.416739 29.263125  L 182.410652 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_21\">\n",
       "    <path d=\"M 190.416739 29.263125  L 198.422826 29.263125  L 198.422826 29.222665  L 190.416739 29.222665  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_22\">\n",
       "    <path d=\"M 46.307174 29.263125  L 54.313261 29.263125  L 54.313261 29.263125  L 46.307174 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_23\">\n",
       "    <path d=\"M 54.313261 29.263125  L 62.319348 29.263125  L 62.319348 29.263125  L 54.313261 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_24\">\n",
       "    <path d=\"M 62.319348 29.263125  L 70.325435 29.263125  L 70.325435 29.263125  L 62.319348 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_25\">\n",
       "    <path d=\"M 70.325435 29.263125  L 78.331522 29.263125  L 78.331522 29.263125  L 70.325435 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_26\">\n",
       "    <path d=\"M 78.331522 29.263125  L 86.337609 29.263125  L 86.337609 29.263125  L 78.331522 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_27\">\n",
       "    <path d=\"M 86.337609 29.263125  L 94.343696 29.263125  L 94.343696 29.263125  L 86.337609 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_28\">\n",
       "    <path d=\"M 94.343696 29.263125  L 102.349783 29.263125  L 102.349783 29.263125  L 94.343696 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_29\">\n",
       "    <path d=\"M 102.349783 29.263125  L 110.35587 29.263125  L 110.35587 29.263125  L 102.349783 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_30\">\n",
       "    <path d=\"M 110.35587 12.087953  L 118.361957 12.087953  L 118.361957 2.863125  L 110.35587 2.863125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_31\">\n",
       "    <path d=\"M 118.361957 16.235079  L 126.368043 16.235079  L 126.368043 13.686114  L 118.361957 13.686114  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_32\">\n",
       "    <path d=\"M 126.368043 23.942665  L 134.37413 23.942665  L 134.37413 23.194159  L 126.368043 23.194159  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_33\">\n",
       "    <path d=\"M 134.37413 28.089792  L 142.380217 28.089792  L 142.380217 27.867263  L 134.37413 27.867263  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_34\">\n",
       "    <path d=\"M 142.380217 28.716918  L 150.386304 28.716918  L 150.386304 28.716918  L 142.380217 28.716918  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_35\">\n",
       "    <path d=\"M 150.386304 28.878757  L 158.392391 28.878757  L 158.392391 28.858527  L 150.386304 28.858527  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_36\">\n",
       "    <path d=\"M 158.392391 29.141746  L 166.398478 29.141746  L 166.398478 29.141746  L 158.392391 29.141746  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_37\">\n",
       "    <path d=\"M 166.398478 29.121516  L 174.404565 29.121516  L 174.404565 29.121516  L 166.398478 29.121516  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_38\">\n",
       "    <path d=\"M 174.404565 29.263125  L 182.410652 29.263125  L 182.410652 29.263125  L 174.404565 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_39\">\n",
       "    <path d=\"M 182.410652 29.263125  L 190.416739 29.263125  L 190.416739 29.263125  L 182.410652 29.263125  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_40\">\n",
       "    <path d=\"M 190.416739 29.222665  L 198.422826 29.222665  L 198.422826 29.222665  L 190.416739 29.222665  z \" clip-path=\"url(#p4b577ae744)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_41\">\n",
       "    <path d=\"M 115.736264 30.094725  L 112.421744 38.410725  L 119.050784 38.410725  z \" style=\"fill: #444443\" />\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <defs>\n",
       "       <path id=\"m421f42209e\" d=\"M 0 0  L 0 9  \" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use xlink:href=\"#m421f42209e\" x=\"46.307174\" y=\"29.263125\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_1\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(33.962174 51.989375) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-2212\" d=\"M 3381 1997  L 356 1997  L 356 2522  L 3381 2522  L 3381 1997  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-31\" d=\"M 2384 0  L 1822 0  L 1822 3584  Q 1619 3391 1289 3197  Q 959 3003 697 2906  L 697 3450  Q 1169 3672 1522 3987  Q 1875 4303 2022 4600  L 2384 4600  L 2384 0  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-35\" d=\"M 266 1200  L 856 1250  Q 922 819 1161 601  Q 1400 384 1738 384  Q 2144 384 2425 690  Q 2706 997 2706 1503  Q 2706 1984 2436 2262  Q 2166 2541 1728 2541  Q 1456 2541 1237 2417  Q 1019 2294 894 2097  L 366 2166  L 809 4519  L 3088 4519  L 3088 3981  L 1259 3981  L 1013 2750  Q 1425 3038 1878 3038  Q 2478 3038 2890 2622  Q 3303 2206 3303 1553  Q 3303 931 2941 478  Q 2500 -78 1738 -78  Q 1113 -78 717 272  Q 322 622 266 1200  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-2e\" d=\"M 581 0  L 581 641  L 1222 641  L 1222 0  L 581 0  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-32\" d=\"M 3222 541  L 3222 0  L 194 0  Q 188 203 259 391  Q 375 700 629 1000  Q 884 1300 1366 1694  Q 2113 2306 2375 2664  Q 2638 3022 2638 3341  Q 2638 3675 2398 3904  Q 2159 4134 1775 4134  Q 1369 4134 1125 3890  Q 881 3647 878 3216  L 300 3275  Q 359 3922 746 4261  Q 1134 4600 1788 4600  Q 2447 4600 2831 4234  Q 3216 3869 3216 3328  Q 3216 3053 3103 2787  Q 2991 2522 2730 2228  Q 2469 1934 1863 1422  Q 1356 997 1212 845  Q 1069 694 975 541  L 3222 541  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-33\" d=\"M 269 1209  L 831 1284  Q 928 806 1161 595  Q 1394 384 1728 384  Q 2125 384 2398 659  Q 2672 934 2672 1341  Q 2672 1728 2419 1979  Q 2166 2231 1775 2231  Q 1616 2231 1378 2169  L 1441 2663  Q 1497 2656 1531 2656  Q 1891 2656 2178 2843  Q 2466 3031 2466 3422  Q 2466 3731 2256 3934  Q 2047 4138 1716 4138  Q 1388 4138 1169 3931  Q 950 3725 888 3313  L 325 3413  Q 428 3978 793 4289  Q 1159 4600 1703 4600  Q 2078 4600 2393 4439  Q 2709 4278 2876 4000  Q 3044 3722 3044 3409  Q 3044 3113 2884 2869  Q 2725 2625 2413 2481  Q 2819 2388 3044 2092  Q 3269 1797 3269 1353  Q 3269 753 2831 336  Q 2394 -81 1725 -81  Q 1122 -81 723 278  Q 325 638 269 1209  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-2212\" />\n",
       "       <use xlink:href=\"#ArialMT-31\" x=\"58.398438\" />\n",
       "       <use xlink:href=\"#ArialMT-35\" x=\"114.013672\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"169.628906\" />\n",
       "       <use xlink:href=\"#ArialMT-32\" x=\"197.412109\" />\n",
       "       <use xlink:href=\"#ArialMT-33\" x=\"253.027344\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_2\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m421f42209e\" x=\"115.736264\" y=\"29.263125\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(107.951889 51.989375) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-37\" d=\"M 303 3981  L 303 4522  L 3269 4522  L 3269 4084  Q 2831 3619 2401 2847  Q 1972 2075 1738 1259  Q 1569 684 1522 0  L 944 0  Q 953 541 1156 1306  Q 1359 2072 1739 2783  Q 2119 3494 2547 3981  L 303 3981  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-30\" d=\"M 266 2259  Q 266 3072 433 3567  Q 600 4063 929 4331  Q 1259 4600 1759 4600  Q 2128 4600 2406 4451  Q 2684 4303 2865 4023  Q 3047 3744 3150 3342  Q 3253 2941 3253 2259  Q 3253 1453 3087 958  Q 2922 463 2592 192  Q 2263 -78 1759 -78  Q 1097 -78 719 397  Q 266 969 266 2259  z M 844 2259  Q 844 1131 1108 757  Q 1372 384 1759 384  Q 2147 384 2411 759  Q 2675 1134 2675 2259  Q 2675 3391 2411 3762  Q 2147 4134 1753 4134  Q 1366 4134 1134 3806  Q 844 3388 844 2259  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-33\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-37\" x=\"83.398438\" />\n",
       "       <use xlink:href=\"#ArialMT-30\" x=\"139.013672\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m421f42209e\" x=\"198.422826\" y=\"29.263125\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(188.414076 51.989375) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-36\" d=\"M 3184 3459  L 2625 3416  Q 2550 3747 2413 3897  Q 2184 4138 1850 4138  Q 1581 4138 1378 3988  Q 1113 3794 959 3422  Q 806 3050 800 2363  Q 1003 2672 1297 2822  Q 1591 2972 1913 2972  Q 2475 2972 2870 2558  Q 3266 2144 3266 1488  Q 3266 1056 3080 686  Q 2894 316 2569 119  Q 2244 -78 1831 -78  Q 1128 -78 684 439  Q 241 956 241 2144  Q 241 3472 731 4075  Q 1159 4600 1884 4600  Q 2425 4600 2770 4297  Q 3116 3994 3184 3459  z M 888 1484  Q 888 1194 1011 928  Q 1134 663 1356 523  Q 1578 384 1822 384  Q 2178 384 2434 671  Q 2691 959 2691 1453  Q 2691 1928 2437 2201  Q 2184 2475 1800 2475  Q 1419 2475 1153 2201  Q 888 1928 888 1484  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-32\" />\n",
       "       <use xlink:href=\"#ArialMT-36\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"111.230469\" />\n",
       "       <use xlink:href=\"#ArialMT-32\" x=\"139.013672\" />\n",
       "       <use xlink:href=\"#ArialMT-35\" x=\"194.628906\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_4\">\n",
       "     \n",
       "     <g style=\"fill: #444443\" transform=\"translate(108.353125 66.16875) scale(0.12 -0.12)\">\n",
       "      <defs>\n",
       "       <path id=\"ArialMT-4c\" d=\"M 469 0  L 469 4581  L 1075 4581  L 1075 541  L 3331 541  L 3331 0  L 469 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-6f\" d=\"M 213 1659  Q 213 2581 725 3025  Q 1153 3394 1769 3394  Q 2453 3394 2887 2945  Q 3322 2497 3322 1706  Q 3322 1066 3130 698  Q 2938 331 2570 128  Q 2203 -75 1769 -75  Q 1072 -75 642 372  Q 213 819 213 1659  z M 791 1659  Q 791 1022 1069 705  Q 1347 388 1769 388  Q 2188 388 2466 706  Q 2744 1025 2744 1678  Q 2744 2294 2464 2611  Q 2184 2928 1769 2928  Q 1347 2928 1069 2612  Q 791 2297 791 1659  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-67\" d=\"M 319 -275  L 866 -356  Q 900 -609 1056 -725  Q 1266 -881 1628 -881  Q 2019 -881 2231 -725  Q 2444 -569 2519 -288  Q 2563 -116 2559 434  Q 2191 0 1641 0  Q 956 0 581 494  Q 206 988 206 1678  Q 206 2153 378 2554  Q 550 2956 876 3175  Q 1203 3394 1644 3394  Q 2231 3394 2613 2919  L 2613 3319  L 3131 3319  L 3131 450  Q 3131 -325 2973 -648  Q 2816 -972 2473 -1159  Q 2131 -1347 1631 -1347  Q 1038 -1347 672 -1080  Q 306 -813 319 -275  z M 784 1719  Q 784 1066 1043 766  Q 1303 466 1694 466  Q 2081 466 2343 764  Q 2606 1063 2606 1700  Q 2606 2309 2336 2618  Q 2066 2928 1684 2928  Q 1309 2928 1046 2623  Q 784 2319 784 1719  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-50\" d=\"M 494 0  L 494 4581  L 2222 4581  Q 2678 4581 2919 4538  Q 3256 4481 3484 4323  Q 3713 4166 3852 3881  Q 3991 3597 3991 3256  Q 3991 2672 3619 2267  Q 3247 1863 2275 1863  L 1100 1863  L 1100 0  L 494 0  z M 1100 2403  L 2284 2403  Q 2872 2403 3119 2622  Q 3366 2841 3366 3238  Q 3366 3525 3220 3729  Q 3075 3934 2838 4000  Q 2684 4041 2272 4041  L 1100 4041  L 1100 2403  z \" transform=\"scale(0.015625)\" />\n",
       "      </defs>\n",
       "      <use xlink:href=\"#ArialMT-4c\" />\n",
       "      <use xlink:href=\"#ArialMT-6f\" x=\"55.615234\" />\n",
       "      <use xlink:href=\"#ArialMT-67\" x=\"111.230469\" />\n",
       "      <use xlink:href=\"#ArialMT-50\" x=\"166.845703\" />\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <defs>\n",
       "       <path id=\"m89b577f8c9\" d=\"M 0 0  L -9 0  \" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use xlink:href=\"#m89b577f8c9\" x=\"30.295\" y=\"29.263125\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(13.34625 32.12625) scale(0.08 -0.08)\">\n",
       "       <use xlink:href=\"#ArialMT-30\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m89b577f8c9\" x=\"30.295\" y=\"2.863125\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_6\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(0 5.72625) scale(0.08 -0.08)\">\n",
       "       <use xlink:href=\"#ArialMT-31\" />\n",
       "       <use xlink:href=\"#ArialMT-33\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-30\" x=\"111.230469\" />\n",
       "       <use xlink:href=\"#ArialMT-35\" x=\"166.845703\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"patch_42\">\n",
       "    <path d=\"M 30.295 29.263125  L 30.295 1.543125  \" style=\"fill: none; stroke: #444443; stroke-width: 0.3; stroke-linejoin: miter; stroke-linecap: square\" />\n",
       "   </g>\n",
       "   <g id=\"patch_43\">\n",
       "    <path d=\"M 30.295 29.263125  L 214.435 29.263125  \" style=\"fill: none; stroke: #444443; stroke-width: 0.3; stroke-linejoin: miter; stroke-linecap: square\" />\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"p4b577ae744\">\n",
       "   <rect x=\"30.295\" y=\"1.543125\" width=\"184.14\" height=\"27.72\" />\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg></g>\n",
       "\n",
       "\n",
       "<g id=\"node4\" class=\"node\">\n",
       "<title>leaf2</title>\n",
       "<polygon fill=\"none\" stroke=\"#444443\" stroke-width=\"0\" points=\"68,-83 0,-83 0,0 68,0 68,-83\" />\n",
       "<svg width=\"60px\" height=\"75px\" viewBox=\"0 0 80.079998 101.033164\" version=\"1.1\" preserveAspectRatio=\"xMinYMin meet\" x=\"4\" y=\"-79\">\n",
       " <metadata>\n",
       "  <rdf:RDF>\n",
       "   <ns2:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n",
       "    <dc:date>2024-04-28T21:43:21.096954</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <ns2:Agent>\n",
       "      <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>\n",
       "     </ns2:Agent>\n",
       "    </dc:creator>\n",
       "   </ns2:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M -0 101.033164  L 80.079998 101.033164  L 80.079998 0  L -0 0  z \" style=\"fill: #ffffff\" />\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 80.079998 40.039996  C 80.079998 36.058324 79.486078 32.098832 78.317869 28.292391  C 77.14966 24.48595 75.420175 20.874965 73.186581 17.578792  L 40.039998 40.039996  z \" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 73.186581 17.578792  C 70.518115 13.640867 67.169119 10.209803 63.296938 7.446801  C 59.424758 4.683799 55.091 2.632818 50.499278 1.390221  C 45.907555 0.147624 41.130924 -0.266821 36.393802 0.16636  C 31.656681 0.59954 27.034439 1.873453 22.744243 3.928246  C 18.454046 5.98304 14.564153 8.786022 11.257322 12.2055  C 7.950491 15.624978 5.279334 19.606548 3.369351 23.963143  C 1.459367 28.319739 0.340944 32.982046 0.06663 37.731015  C -0.207685 42.479985 0.366473 47.240061 1.762128 51.7876  C 3.157782 56.335139 5.352728 60.597789 8.243841 64.375278  C 11.134954 68.152768 14.676236 71.384997 18.701306 73.920105  C 22.726376 76.455213 27.171195 78.252866 31.826933 79.228606  C 36.482671 80.204345 41.275253 80.342647 45.979511 79.637013  C 50.683769 78.931379 55.224857 77.393036 59.389421 75.09426  C 63.553984 72.795484 67.275765 69.772849 70.379903 66.168367  C 73.484041 62.563885 75.921148 58.434904 77.576723 53.975416  C 79.232297 49.515928 80.079998 44.796883 80.079998 40.039997  L 40.039998 40.039996  z \" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"text_1\">\n",
       "    \n",
       "    <g style=\"fill: #444443\" transform=\"translate(24.899608 89.725227) scale(0.09 -0.09)\">\n",
       "     <defs>\n",
       "      <path id=\"ArialMT-6e\" d=\"M 422 0  L 422 3319  L 928 3319  L 928 2847  Q 1294 3394 1984 3394  Q 2284 3394 2536 3286  Q 2788 3178 2913 3003  Q 3038 2828 3088 2588  Q 3119 2431 3119 2041  L 3119 0  L 2556 0  L 2556 2019  Q 2556 2363 2490 2533  Q 2425 2703 2258 2804  Q 2091 2906 1866 2906  Q 1506 2906 1245 2678  Q 984 2450 984 1813  L 984 0  L 422 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-3d\" d=\"M 3381 2694  L 356 2694  L 356 3219  L 3381 3219  L 3381 2694  z M 3381 1303  L 356 1303  L 356 1828  L 3381 1828  L 3381 1303  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-34\" d=\"M 2069 0  L 2069 1097  L 81 1097  L 81 1613  L 2172 4581  L 2631 4581  L 2631 1613  L 3250 1613  L 3250 1097  L 2631 1097  L 2631 0  L 2069 0  z M 2069 1613  L 2069 3678  L 634 1613  L 2069 1613  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-35\" d=\"M 266 1200  L 856 1250  Q 922 819 1161 601  Q 1400 384 1738 384  Q 2144 384 2425 690  Q 2706 997 2706 1503  Q 2706 1984 2436 2262  Q 2166 2541 1728 2541  Q 1456 2541 1237 2417  Q 1019 2294 894 2097  L 366 2166  L 809 4519  L 3088 4519  L 3088 3981  L 1259 3981  L 1013 2750  Q 1425 3038 1878 3038  Q 2478 3038 2890 2622  Q 3303 2206 3303 1553  Q 3303 931 2941 478  Q 2500 -78 1738 -78  Q 1113 -78 717 272  Q 322 622 266 1200  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-32\" d=\"M 3222 541  L 3222 0  L 194 0  Q 188 203 259 391  Q 375 700 629 1000  Q 884 1300 1366 1694  Q 2113 2306 2375 2664  Q 2638 3022 2638 3341  Q 2638 3675 2398 3904  Q 2159 4134 1775 4134  Q 1369 4134 1125 3890  Q 881 3647 878 3216  L 300 3275  Q 359 3922 746 4261  Q 1134 4600 1788 4600  Q 2447 4600 2831 4234  Q 3216 3869 3216 3328  Q 3216 3053 3103 2787  Q 2991 2522 2730 2228  Q 2469 1934 1863 1422  Q 1356 997 1212 845  Q 1069 694 975 541  L 3222 541  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-36\" d=\"M 3184 3459  L 2625 3416  Q 2550 3747 2413 3897  Q 2184 4138 1850 4138  Q 1581 4138 1378 3988  Q 1113 3794 959 3422  Q 806 3050 800 2363  Q 1003 2672 1297 2822  Q 1591 2972 1913 2972  Q 2475 2972 2870 2558  Q 3266 2144 3266 1488  Q 3266 1056 3080 686  Q 2894 316 2569 119  Q 2244 -78 1831 -78  Q 1128 -78 684 439  Q 241 956 241 2144  Q 241 3472 731 4075  Q 1159 4600 1884 4600  Q 2425 4600 2770 4297  Q 3116 3994 3184 3459  z M 888 1484  Q 888 1194 1011 928  Q 1134 663 1356 523  Q 1578 384 1822 384  Q 2178 384 2434 671  Q 2691 959 2691 1453  Q 2691 1928 2437 2201  Q 2184 2475 1800 2475  Q 1419 2475 1153 2201  Q 888 1928 888 1484  z \" transform=\"scale(0.015625)\" />\n",
       "     </defs>\n",
       "     <use xlink:href=\"#ArialMT-6e\" />\n",
       "     <use xlink:href=\"#ArialMT-3d\" x=\"55.615234\" />\n",
       "     <use xlink:href=\"#ArialMT-34\" x=\"114.013672\" />\n",
       "     <use xlink:href=\"#ArialMT-35\" x=\"169.628906\" />\n",
       "     <use xlink:href=\"#ArialMT-32\" x=\"225.244141\" />\n",
       "     <use xlink:href=\"#ArialMT-36\" x=\"280.859375\" />\n",
       "    </g>\n",
       "    \n",
       "    <g style=\"fill: #444443\" transform=\"translate(30.95703 99.244414) scale(0.09 -0.09)\">\n",
       "     <defs>\n",
       "      <path id=\"ArialMT-54\" d=\"M 1659 0  L 1659 4041  L 150 4041  L 150 4581  L 3781 4581  L 3781 4041  L 2266 4041  L 2266 0  L 1659 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-72\" d=\"M 416 0  L 416 3319  L 922 3319  L 922 2816  Q 1116 3169 1280 3281  Q 1444 3394 1641 3394  Q 1925 3394 2219 3213  L 2025 2691  Q 1819 2813 1613 2813  Q 1428 2813 1281 2702  Q 1134 2591 1072 2394  Q 978 2094 978 1738  L 978 0  L 416 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-75\" d=\"M 2597 0  L 2597 488  Q 2209 -75 1544 -75  Q 1250 -75 995 37  Q 741 150 617 320  Q 494 491 444 738  Q 409 903 409 1263  L 409 3319  L 972 3319  L 972 1478  Q 972 1038 1006 884  Q 1059 663 1231 536  Q 1403 409 1656 409  Q 1909 409 2131 539  Q 2353 669 2445 892  Q 2538 1116 2538 1541  L 2538 3319  L 3100 3319  L 3100 0  L 2597 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-65\" d=\"M 2694 1069  L 3275 997  Q 3138 488 2766 206  Q 2394 -75 1816 -75  Q 1088 -75 661 373  Q 234 822 234 1631  Q 234 2469 665 2931  Q 1097 3394 1784 3394  Q 2450 3394 2872 2941  Q 3294 2488 3294 1666  Q 3294 1616 3291 1516  L 816 1516  Q 847 969 1125 678  Q 1403 388 1819 388  Q 2128 388 2347 550  Q 2566 713 2694 1069  z M 847 1978  L 2700 1978  Q 2663 2397 2488 2606  Q 2219 2931 1791 2931  Q 1403 2931 1139 2672  Q 875 2413 847 1978  z \" transform=\"scale(0.015625)\" />\n",
       "     </defs>\n",
       "     <use xlink:href=\"#ArialMT-54\" />\n",
       "     <use xlink:href=\"#ArialMT-72\" x=\"57.333984\" />\n",
       "     <use xlink:href=\"#ArialMT-75\" x=\"90.634766\" />\n",
       "     <use xlink:href=\"#ArialMT-65\" x=\"146.25\" />\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       "</svg></g>\n",
       "\n",
       "<g id=\"edge1\" class=\"edge\">\n",
       "<title>node1-&gt;leaf2</title>\n",
       "<path fill=\"none\" stroke=\"#444443\" stroke-width=\"0.3\" d=\"M69.13,-100.09C66.39,-95.6 63.6,-91.02 60.85,-86.52\" />\n",
       "<polygon fill=\"#444443\" stroke=\"#444443\" stroke-width=\"0.3\" points=\"62.06,-85.82 58.79,-83.13 59.67,-87.28 62.06,-85.82\" />\n",
       "</g>\n",
       "\n",
       "<g id=\"node5\" class=\"node\">\n",
       "<title>leaf3</title>\n",
       "<polygon fill=\"none\" stroke=\"#444443\" stroke-width=\"0\" points=\"150,-83 82,-83 82,0 150,0 150,-83\" />\n",
       "<svg width=\"60px\" height=\"75px\" viewBox=\"0 0 80.07995 101.032894\" version=\"1.1\" preserveAspectRatio=\"xMinYMin meet\" x=\"86\" y=\"-79\">\n",
       " <metadata>\n",
       "  <rdf:RDF>\n",
       "   <ns2:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n",
       "    <dc:date>2024-04-28T21:43:21.111209</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <ns2:Agent>\n",
       "      <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>\n",
       "     </ns2:Agent>\n",
       "    </dc:creator>\n",
       "   </ns2:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 101.032894  L 80.07995 101.032894  L 80.07995 0  L 0 0  z \" style=\"fill: #ffffff\" />\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 80.07995 40.039725  C 80.07995 31.708361 77.479614 23.581147 72.643391 16.797152  C 67.807168 10.013157 60.972072 4.904849 53.096072 2.188183  C 45.220073 -0.528483 36.689157 -0.720371 28.698972 1.639415  C 20.708787 3.999201 13.650916 8.795012 8.514552 15.354692  L 40.03995 40.039725  z \" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 8.514552 15.354692  C 4.581662 20.377408 1.90548 26.268049 0.709687 32.534258  C -0.486105 38.800467 -0.167237 45.262659 1.63964 51.380705  C 3.446517 57.498751 6.689619 63.097313 11.097878 67.708446  C 15.506138 72.319579 20.953216 75.811131 26.983831 77.891269  C 33.014447 79.971407 39.455765 80.580515 45.769404 79.667682  C 52.083043 78.754849 58.088056 76.346237 63.282528 72.643163  C 68.477001 68.94009 72.712061 64.048683 75.633732 58.37778  C 78.555403 52.706878 80.079951 46.419004 80.07995 40.039718  L 40.03995 40.039725  z \" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"text_1\">\n",
       "    \n",
       "    <g style=\"fill: #444443\" transform=\"translate(27.401981 89.724957) scale(0.09 -0.09)\">\n",
       "     <defs>\n",
       "      <path id=\"ArialMT-6e\" d=\"M 422 0  L 422 3319  L 928 3319  L 928 2847  Q 1294 3394 1984 3394  Q 2284 3394 2536 3286  Q 2788 3178 2913 3003  Q 3038 2828 3088 2588  Q 3119 2431 3119 2041  L 3119 0  L 2556 0  L 2556 2019  Q 2556 2363 2490 2533  Q 2425 2703 2258 2804  Q 2091 2906 1866 2906  Q 1506 2906 1245 2678  Q 984 2450 984 1813  L 984 0  L 422 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-3d\" d=\"M 3381 2694  L 356 2694  L 356 3219  L 3381 3219  L 3381 2694  z M 3381 1303  L 356 1303  L 356 1828  L 3381 1828  L 3381 1303  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-34\" d=\"M 2069 0  L 2069 1097  L 81 1097  L 81 1613  L 2172 4581  L 2631 4581  L 2631 1613  L 3250 1613  L 3250 1097  L 2631 1097  L 2631 0  L 2069 0  z M 2069 1613  L 2069 3678  L 634 1613  L 2069 1613  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-35\" d=\"M 266 1200  L 856 1250  Q 922 819 1161 601  Q 1400 384 1738 384  Q 2144 384 2425 690  Q 2706 997 2706 1503  Q 2706 1984 2436 2262  Q 2166 2541 1728 2541  Q 1456 2541 1237 2417  Q 1019 2294 894 2097  L 366 2166  L 809 4519  L 3088 4519  L 3088 3981  L 1259 3981  L 1013 2750  Q 1425 3038 1878 3038  Q 2478 3038 2890 2622  Q 3303 2206 3303 1553  Q 3303 931 2941 478  Q 2500 -78 1738 -78  Q 1113 -78 717 272  Q 322 622 266 1200  z \" transform=\"scale(0.015625)\" />\n",
       "     </defs>\n",
       "     <use xlink:href=\"#ArialMT-6e\" />\n",
       "     <use xlink:href=\"#ArialMT-3d\" x=\"55.615234\" />\n",
       "     <use xlink:href=\"#ArialMT-34\" x=\"114.013672\" />\n",
       "     <use xlink:href=\"#ArialMT-35\" x=\"169.628906\" />\n",
       "     <use xlink:href=\"#ArialMT-34\" x=\"225.244141\" />\n",
       "    </g>\n",
       "    \n",
       "    <g style=\"fill: #444443\" transform=\"translate(30.956981 99.244144) scale(0.09 -0.09)\">\n",
       "     <defs>\n",
       "      <path id=\"ArialMT-54\" d=\"M 1659 0  L 1659 4041  L 150 4041  L 150 4581  L 3781 4581  L 3781 4041  L 2266 4041  L 2266 0  L 1659 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-72\" d=\"M 416 0  L 416 3319  L 922 3319  L 922 2816  Q 1116 3169 1280 3281  Q 1444 3394 1641 3394  Q 1925 3394 2219 3213  L 2025 2691  Q 1819 2813 1613 2813  Q 1428 2813 1281 2702  Q 1134 2591 1072 2394  Q 978 2094 978 1738  L 978 0  L 416 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-75\" d=\"M 2597 0  L 2597 488  Q 2209 -75 1544 -75  Q 1250 -75 995 37  Q 741 150 617 320  Q 494 491 444 738  Q 409 903 409 1263  L 409 3319  L 972 3319  L 972 1478  Q 972 1038 1006 884  Q 1059 663 1231 536  Q 1403 409 1656 409  Q 1909 409 2131 539  Q 2353 669 2445 892  Q 2538 1116 2538 1541  L 2538 3319  L 3100 3319  L 3100 0  L 2597 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-65\" d=\"M 2694 1069  L 3275 997  Q 3138 488 2766 206  Q 2394 -75 1816 -75  Q 1088 -75 661 373  Q 234 822 234 1631  Q 234 2469 665 2931  Q 1097 3394 1784 3394  Q 2450 3394 2872 2941  Q 3294 2488 3294 1666  Q 3294 1616 3291 1516  L 816 1516  Q 847 969 1125 678  Q 1403 388 1819 388  Q 2128 388 2347 550  Q 2566 713 2694 1069  z M 847 1978  L 2700 1978  Q 2663 2397 2488 2606  Q 2219 2931 1791 2931  Q 1403 2931 1139 2672  Q 875 2413 847 1978  z \" transform=\"scale(0.015625)\" />\n",
       "     </defs>\n",
       "     <use xlink:href=\"#ArialMT-54\" />\n",
       "     <use xlink:href=\"#ArialMT-72\" x=\"57.333984\" />\n",
       "     <use xlink:href=\"#ArialMT-75\" x=\"90.634766\" />\n",
       "     <use xlink:href=\"#ArialMT-65\" x=\"146.25\" />\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       "</svg></g>\n",
       "\n",
       "<g id=\"edge2\" class=\"edge\">\n",
       "<title>node1-&gt;leaf3</title>\n",
       "<path fill=\"none\" stroke=\"#444443\" stroke-width=\"0.3\" d=\"M103.91,-100.09C104.81,-95.78 105.73,-91.39 106.64,-87.06\" />\n",
       "<polygon fill=\"#444443\" stroke=\"#444443\" stroke-width=\"0.3\" points=\"108,-87.39 107.46,-83.19 105.26,-86.82 108,-87.39\" />\n",
       "</g>\n",
       "\n",
       "<g id=\"node6\" class=\"node\">\n",
       "<title>leaf5</title>\n",
       "<polygon fill=\"none\" stroke=\"#444443\" stroke-width=\"0\" points=\"270,-83 202,-83 202,0 270,0 270,-83\" />\n",
       "<svg width=\"60px\" height=\"75px\" viewBox=\"0 0 80.079995 101.033136\" version=\"1.1\" preserveAspectRatio=\"xMinYMin meet\" x=\"206\" y=\"-79\">\n",
       " <metadata>\n",
       "  <rdf:RDF>\n",
       "   <ns2:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n",
       "    <dc:date>2024-04-28T21:43:21.125600</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <ns2:Agent>\n",
       "      <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>\n",
       "     </ns2:Agent>\n",
       "    </dc:creator>\n",
       "   </ns2:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 101.033136  L 80.079995 101.033136  L 80.079995 0  L 0 0  z \" style=\"fill: #ffffff\" />\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 80.079995 40.039967  C 80.079995 34.151976 78.781228 28.335824 76.276505 23.007147  C 73.771782 17.678469 70.122225 12.967296 65.588638 9.210299  C 61.055052 5.453301 55.748064 2.742157 50.046925 1.270611  C 44.345786 -0.200935 38.389613 -0.396975 32.60405 0.696501  C 26.818486 1.789977 21.34471 4.146286 16.573889 7.597041  C 11.803068 11.047796 7.851621 15.508791 5.001925 20.661235  C 2.15223 25.813678 0.473825 31.53184 0.086653 37.407088  C -0.300519 43.282336 0.61299 49.171302 2.761898 54.653148  L 40.039995 40.039967  z \" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 2.761898 54.653148  C 6.165923 63.336786 12.499421 70.563914 20.661263 75.078037  C 28.823105 79.59216 38.311191 81.115578 47.475941 79.383433  C 56.640691 77.651288 64.918309 72.770138 70.869663 65.58861  C 76.821018 58.407082 80.079995 49.366969 80.079995 40.039967  L 40.039995 40.039967  z \" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"text_1\">\n",
       "    \n",
       "    <g style=\"fill: #444443\" transform=\"translate(27.402027 89.725198) scale(0.09 -0.09)\">\n",
       "     <defs>\n",
       "      <path id=\"ArialMT-6e\" d=\"M 422 0  L 422 3319  L 928 3319  L 928 2847  Q 1294 3394 1984 3394  Q 2284 3394 2536 3286  Q 2788 3178 2913 3003  Q 3038 2828 3088 2588  Q 3119 2431 3119 2041  L 3119 0  L 2556 0  L 2556 2019  Q 2556 2363 2490 2533  Q 2425 2703 2258 2804  Q 2091 2906 1866 2906  Q 1506 2906 1245 2678  Q 984 2450 984 1813  L 984 0  L 422 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-3d\" d=\"M 3381 2694  L 356 2694  L 356 3219  L 3381 3219  L 3381 2694  z M 3381 1303  L 356 1303  L 356 1828  L 3381 1828  L 3381 1303  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-37\" d=\"M 303 3981  L 303 4522  L 3269 4522  L 3269 4084  Q 2831 3619 2401 2847  Q 1972 2075 1738 1259  Q 1569 684 1522 0  L 944 0  Q 953 541 1156 1306  Q 1359 2072 1739 2783  Q 2119 3494 2547 3981  L 303 3981  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-34\" d=\"M 2069 0  L 2069 1097  L 81 1097  L 81 1613  L 2172 4581  L 2631 4581  L 2631 1613  L 3250 1613  L 3250 1097  L 2631 1097  L 2631 0  L 2069 0  z M 2069 1613  L 2069 3678  L 634 1613  L 2069 1613  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-30\" d=\"M 266 2259  Q 266 3072 433 3567  Q 600 4063 929 4331  Q 1259 4600 1759 4600  Q 2128 4600 2406 4451  Q 2684 4303 2865 4023  Q 3047 3744 3150 3342  Q 3253 2941 3253 2259  Q 3253 1453 3087 958  Q 2922 463 2592 192  Q 2263 -78 1759 -78  Q 1097 -78 719 397  Q 266 969 266 2259  z M 844 2259  Q 844 1131 1108 757  Q 1372 384 1759 384  Q 2147 384 2411 759  Q 2675 1134 2675 2259  Q 2675 3391 2411 3762  Q 2147 4134 1753 4134  Q 1366 4134 1134 3806  Q 844 3388 844 2259  z \" transform=\"scale(0.015625)\" />\n",
       "     </defs>\n",
       "     <use xlink:href=\"#ArialMT-6e\" />\n",
       "     <use xlink:href=\"#ArialMT-3d\" x=\"55.615234\" />\n",
       "     <use xlink:href=\"#ArialMT-37\" x=\"114.013672\" />\n",
       "     <use xlink:href=\"#ArialMT-34\" x=\"169.628906\" />\n",
       "     <use xlink:href=\"#ArialMT-30\" x=\"225.244141\" />\n",
       "    </g>\n",
       "    \n",
       "    <g style=\"fill: #444443\" transform=\"translate(29.036792 99.244386) scale(0.09 -0.09)\">\n",
       "     <defs>\n",
       "      <path id=\"ArialMT-46\" d=\"M 525 0  L 525 4581  L 3616 4581  L 3616 4041  L 1131 4041  L 1131 2622  L 3281 2622  L 3281 2081  L 1131 2081  L 1131 0  L 525 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-61\" d=\"M 2588 409  Q 2275 144 1986 34  Q 1697 -75 1366 -75  Q 819 -75 525 192  Q 231 459 231 875  Q 231 1119 342 1320  Q 453 1522 633 1644  Q 813 1766 1038 1828  Q 1203 1872 1538 1913  Q 2219 1994 2541 2106  Q 2544 2222 2544 2253  Q 2544 2597 2384 2738  Q 2169 2928 1744 2928  Q 1347 2928 1158 2789  Q 969 2650 878 2297  L 328 2372  Q 403 2725 575 2942  Q 747 3159 1072 3276  Q 1397 3394 1825 3394  Q 2250 3394 2515 3294  Q 2781 3194 2906 3042  Q 3031 2891 3081 2659  Q 3109 2516 3109 2141  L 3109 1391  Q 3109 606 3145 398  Q 3181 191 3288 0  L 2700 0  Q 2613 175 2588 409  z M 2541 1666  Q 2234 1541 1622 1453  Q 1275 1403 1131 1340  Q 988 1278 909 1158  Q 831 1038 831 891  Q 831 666 1001 516  Q 1172 366 1500 366  Q 1825 366 2078 508  Q 2331 650 2450 897  Q 2541 1088 2541 1459  L 2541 1666  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-6c\" d=\"M 409 0  L 409 4581  L 972 4581  L 972 0  L 409 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-73\" d=\"M 197 991  L 753 1078  Q 800 744 1014 566  Q 1228 388 1613 388  Q 2000 388 2187 545  Q 2375 703 2375 916  Q 2375 1106 2209 1216  Q 2094 1291 1634 1406  Q 1016 1563 777 1677  Q 538 1791 414 1992  Q 291 2194 291 2438  Q 291 2659 392 2848  Q 494 3038 669 3163  Q 800 3259 1026 3326  Q 1253 3394 1513 3394  Q 1903 3394 2198 3281  Q 2494 3169 2634 2976  Q 2775 2784 2828 2463  L 2278 2388  Q 2241 2644 2061 2787  Q 1881 2931 1553 2931  Q 1166 2931 1000 2803  Q 834 2675 834 2503  Q 834 2394 903 2306  Q 972 2216 1119 2156  Q 1203 2125 1616 2013  Q 2213 1853 2448 1751  Q 2684 1650 2818 1456  Q 2953 1263 2953 975  Q 2953 694 2789 445  Q 2625 197 2315 61  Q 2006 -75 1616 -75  Q 969 -75 630 194  Q 291 463 197 991  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-65\" d=\"M 2694 1069  L 3275 997  Q 3138 488 2766 206  Q 2394 -75 1816 -75  Q 1088 -75 661 373  Q 234 822 234 1631  Q 234 2469 665 2931  Q 1097 3394 1784 3394  Q 2450 3394 2872 2941  Q 3294 2488 3294 1666  Q 3294 1616 3291 1516  L 816 1516  Q 847 969 1125 678  Q 1403 388 1819 388  Q 2128 388 2347 550  Q 2566 713 2694 1069  z M 847 1978  L 2700 1978  Q 2663 2397 2488 2606  Q 2219 2931 1791 2931  Q 1403 2931 1139 2672  Q 875 2413 847 1978  z \" transform=\"scale(0.015625)\" />\n",
       "     </defs>\n",
       "     <use xlink:href=\"#ArialMT-46\" />\n",
       "     <use xlink:href=\"#ArialMT-61\" x=\"61.083984\" />\n",
       "     <use xlink:href=\"#ArialMT-6c\" x=\"116.699219\" />\n",
       "     <use xlink:href=\"#ArialMT-73\" x=\"138.916016\" />\n",
       "     <use xlink:href=\"#ArialMT-65\" x=\"188.916016\" />\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       "</svg></g>\n",
       "\n",
       "<g id=\"edge4\" class=\"edge\">\n",
       "<title>node4-&gt;leaf5</title>\n",
       "<path fill=\"none\" stroke=\"#444443\" stroke-width=\"0.3\" d=\"M265.36,-114.11C261.88,-105.62 257.98,-96.11 254.18,-86.85\" />\n",
       "<polygon fill=\"#444443\" stroke=\"#444443\" stroke-width=\"0.3\" points=\"255.55,-86.49 252.74,-83.32 252.96,-87.56 255.55,-86.49\" />\n",
       "</g>\n",
       "\n",
       "<g id=\"node7\" class=\"node\">\n",
       "<title>leaf6</title>\n",
       "<polygon fill=\"none\" stroke=\"#444443\" stroke-width=\"0\" points=\"352,-83 284,-83 284,0 352,0 352,-83\" />\n",
       "<svg width=\"60px\" height=\"75px\" viewBox=\"0 0 80.079996 101.033168\" version=\"1.1\" preserveAspectRatio=\"xMinYMin meet\" x=\"288\" y=\"-79\">\n",
       " <metadata>\n",
       "  <rdf:RDF>\n",
       "   <ns2:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n",
       "    <dc:date>2024-04-28T21:43:21.142492</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <ns2:Agent>\n",
       "      <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>\n",
       "     </ns2:Agent>\n",
       "    </dc:creator>\n",
       "   </ns2:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 101.033168  L 80.079996 101.033168  L 80.079996 0  L 0 0  z \" style=\"fill: #ffffff\" />\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 80.079996 40.039999  C 80.079996 35.694458 79.372564 31.377756 77.985499 27.25953  C 76.598435 23.141304 74.550149 19.276216 71.921135 15.816156  C 69.292121 12.356096 66.117275 9.346989 62.521359 6.907086  C 58.925444 4.467184 54.956189 2.628871 50.769578 1.464389  C 46.582967 0.299908 42.234569 -0.175286 37.895266 0.057481  C 33.555963 0.290249 29.283351 1.227888 25.245335 2.833553  C 21.20732 4.439218 17.457496 6.691595 14.143226 9.502172  C 10.828955 12.312748 7.994228 15.644219 5.750442 19.365665  C 3.506657 23.08711 1.883595 27.149135 0.945039 31.392111  C 0.006484 35.635087 -0.235107 40.002696 0.22976 44.323302  C 0.694627 48.643907 1.859781 52.86016 3.679436 56.806372  C 5.49909 60.752584 7.949092 64.376376 10.933162 67.535341  C 13.917232 70.694306 17.395761 73.346514 21.232052 75.387741  C 25.068342 77.428967 29.211475 78.832117 33.498633 79.542052  C 37.785791 80.251986 42.16007 80.259281 46.449573 79.563649  C 50.739075 78.868018 54.886864 77.478694 58.729941 75.450274  L 40.039996 40.039999  z \" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 58.729941 75.450274  C 65.173188 72.049455 70.567653 66.953653 74.329551 60.714332  C 78.091448 54.475011 80.079997 47.325666 80.079996 40.039995  L 40.039996 40.039999  z \" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"text_1\">\n",
       "    \n",
       "    <g style=\"fill: #444443\" transform=\"translate(24.899605 89.72523) scale(0.09 -0.09)\">\n",
       "     <defs>\n",
       "      <path id=\"ArialMT-6e\" d=\"M 422 0  L 422 3319  L 928 3319  L 928 2847  Q 1294 3394 1984 3394  Q 2284 3394 2536 3286  Q 2788 3178 2913 3003  Q 3038 2828 3088 2588  Q 3119 2431 3119 2041  L 3119 0  L 2556 0  L 2556 2019  Q 2556 2363 2490 2533  Q 2425 2703 2258 2804  Q 2091 2906 1866 2906  Q 1506 2906 1245 2678  Q 984 2450 984 1813  L 984 0  L 422 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-3d\" d=\"M 3381 2694  L 356 2694  L 356 3219  L 3381 3219  L 3381 2694  z M 3381 1303  L 356 1303  L 356 1828  L 3381 1828  L 3381 1303  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-31\" d=\"M 2384 0  L 1822 0  L 1822 3584  Q 1619 3391 1289 3197  Q 959 3003 697 2906  L 697 3450  Q 1169 3672 1522 3987  Q 1875 4303 2022 4600  L 2384 4600  L 2384 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-37\" d=\"M 303 3981  L 303 4522  L 3269 4522  L 3269 4084  Q 2831 3619 2401 2847  Q 1972 2075 1738 1259  Q 1569 684 1522 0  L 944 0  Q 953 541 1156 1306  Q 1359 2072 1739 2783  Q 2119 3494 2547 3981  L 303 3981  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-36\" d=\"M 3184 3459  L 2625 3416  Q 2550 3747 2413 3897  Q 2184 4138 1850 4138  Q 1581 4138 1378 3988  Q 1113 3794 959 3422  Q 806 3050 800 2363  Q 1003 2672 1297 2822  Q 1591 2972 1913 2972  Q 2475 2972 2870 2558  Q 3266 2144 3266 1488  Q 3266 1056 3080 686  Q 2894 316 2569 119  Q 2244 -78 1831 -78  Q 1128 -78 684 439  Q 241 956 241 2144  Q 241 3472 731 4075  Q 1159 4600 1884 4600  Q 2425 4600 2770 4297  Q 3116 3994 3184 3459  z M 888 1484  Q 888 1194 1011 928  Q 1134 663 1356 523  Q 1578 384 1822 384  Q 2178 384 2434 671  Q 2691 959 2691 1453  Q 2691 1928 2437 2201  Q 2184 2475 1800 2475  Q 1419 2475 1153 2201  Q 888 1928 888 1484  z \" transform=\"scale(0.015625)\" />\n",
       "     </defs>\n",
       "     <use xlink:href=\"#ArialMT-6e\" />\n",
       "     <use xlink:href=\"#ArialMT-3d\" x=\"55.615234\" />\n",
       "     <use xlink:href=\"#ArialMT-31\" x=\"114.013672\" />\n",
       "     <use xlink:href=\"#ArialMT-37\" x=\"169.628906\" />\n",
       "     <use xlink:href=\"#ArialMT-36\" x=\"225.244141\" />\n",
       "     <use xlink:href=\"#ArialMT-36\" x=\"280.859375\" />\n",
       "    </g>\n",
       "    \n",
       "    <g style=\"fill: #444443\" transform=\"translate(29.036793 99.244418) scale(0.09 -0.09)\">\n",
       "     <defs>\n",
       "      <path id=\"ArialMT-46\" d=\"M 525 0  L 525 4581  L 3616 4581  L 3616 4041  L 1131 4041  L 1131 2622  L 3281 2622  L 3281 2081  L 1131 2081  L 1131 0  L 525 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-61\" d=\"M 2588 409  Q 2275 144 1986 34  Q 1697 -75 1366 -75  Q 819 -75 525 192  Q 231 459 231 875  Q 231 1119 342 1320  Q 453 1522 633 1644  Q 813 1766 1038 1828  Q 1203 1872 1538 1913  Q 2219 1994 2541 2106  Q 2544 2222 2544 2253  Q 2544 2597 2384 2738  Q 2169 2928 1744 2928  Q 1347 2928 1158 2789  Q 969 2650 878 2297  L 328 2372  Q 403 2725 575 2942  Q 747 3159 1072 3276  Q 1397 3394 1825 3394  Q 2250 3394 2515 3294  Q 2781 3194 2906 3042  Q 3031 2891 3081 2659  Q 3109 2516 3109 2141  L 3109 1391  Q 3109 606 3145 398  Q 3181 191 3288 0  L 2700 0  Q 2613 175 2588 409  z M 2541 1666  Q 2234 1541 1622 1453  Q 1275 1403 1131 1340  Q 988 1278 909 1158  Q 831 1038 831 891  Q 831 666 1001 516  Q 1172 366 1500 366  Q 1825 366 2078 508  Q 2331 650 2450 897  Q 2541 1088 2541 1459  L 2541 1666  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-6c\" d=\"M 409 0  L 409 4581  L 972 4581  L 972 0  L 409 0  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-73\" d=\"M 197 991  L 753 1078  Q 800 744 1014 566  Q 1228 388 1613 388  Q 2000 388 2187 545  Q 2375 703 2375 916  Q 2375 1106 2209 1216  Q 2094 1291 1634 1406  Q 1016 1563 777 1677  Q 538 1791 414 1992  Q 291 2194 291 2438  Q 291 2659 392 2848  Q 494 3038 669 3163  Q 800 3259 1026 3326  Q 1253 3394 1513 3394  Q 1903 3394 2198 3281  Q 2494 3169 2634 2976  Q 2775 2784 2828 2463  L 2278 2388  Q 2241 2644 2061 2787  Q 1881 2931 1553 2931  Q 1166 2931 1000 2803  Q 834 2675 834 2503  Q 834 2394 903 2306  Q 972 2216 1119 2156  Q 1203 2125 1616 2013  Q 2213 1853 2448 1751  Q 2684 1650 2818 1456  Q 2953 1263 2953 975  Q 2953 694 2789 445  Q 2625 197 2315 61  Q 2006 -75 1616 -75  Q 969 -75 630 194  Q 291 463 197 991  z \" transform=\"scale(0.015625)\" />\n",
       "      <path id=\"ArialMT-65\" d=\"M 2694 1069  L 3275 997  Q 3138 488 2766 206  Q 2394 -75 1816 -75  Q 1088 -75 661 373  Q 234 822 234 1631  Q 234 2469 665 2931  Q 1097 3394 1784 3394  Q 2450 3394 2872 2941  Q 3294 2488 3294 1666  Q 3294 1616 3291 1516  L 816 1516  Q 847 969 1125 678  Q 1403 388 1819 388  Q 2128 388 2347 550  Q 2566 713 2694 1069  z M 847 1978  L 2700 1978  Q 2663 2397 2488 2606  Q 2219 2931 1791 2931  Q 1403 2931 1139 2672  Q 875 2413 847 1978  z \" transform=\"scale(0.015625)\" />\n",
       "     </defs>\n",
       "     <use xlink:href=\"#ArialMT-46\" />\n",
       "     <use xlink:href=\"#ArialMT-61\" x=\"61.083984\" />\n",
       "     <use xlink:href=\"#ArialMT-6c\" x=\"116.699219\" />\n",
       "     <use xlink:href=\"#ArialMT-73\" x=\"138.916016\" />\n",
       "     <use xlink:href=\"#ArialMT-65\" x=\"188.916016\" />\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       "</svg></g>\n",
       "\n",
       "<g id=\"edge5\" class=\"edge\">\n",
       "<title>node4-&gt;leaf6</title>\n",
       "<path fill=\"none\" stroke=\"#444443\" stroke-width=\"0.3\" d=\"M288.64,-114.11C292.12,-105.62 296.02,-96.11 299.82,-86.85\" />\n",
       "<polygon fill=\"#444443\" stroke=\"#444443\" stroke-width=\"0.3\" points=\"301.04,-87.56 301.26,-83.32 298.45,-86.49 301.04,-87.56\" />\n",
       "</g>\n",
       "\n",
       "<g id=\"node3\" class=\"node\">\n",
       "<title>node0</title>\n",
       "<svg width=\"160px\" height=\"92px\" viewBox=\"0 0 214.435 122.59125\" version=\"1.1\" preserveAspectRatio=\"xMinYMin meet\" x=\"105\" y=\"-314.75\">\n",
       " <metadata>\n",
       "  <rdf:RDF>\n",
       "   <ns2:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n",
       "    <dc:date>2024-04-28T21:43:21.068740</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <ns2:Agent>\n",
       "      <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>\n",
       "     </ns2:Agent>\n",
       "    </dc:creator>\n",
       "   </ns2:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 122.59125  L 214.435 122.59125  L 214.435 0  L 0 0  z \" style=\"fill: #ffffff\" />\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"patch_2\">\n",
       "    <path d=\"M 30.295 83.16  L 214.435 83.16  L 214.435 0  L 30.295 0  z \" style=\"fill: #ffffff\" />\n",
       "   </g>\n",
       "   <g id=\"patch_3\">\n",
       "    <path d=\"M 46.307174 83.16  L 54.313261 83.16  L 54.313261 83.16  L 46.307174 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_4\">\n",
       "    <path d=\"M 54.313261 83.16  L 62.319348 83.16  L 62.319348 83.16  L 54.313261 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_5\">\n",
       "    <path d=\"M 62.319348 83.16  L 70.325435 83.16  L 70.325435 83.16  L 62.319348 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_6\">\n",
       "    <path d=\"M 70.325435 83.16  L 78.331522 83.16  L 78.331522 83.16  L 70.325435 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_7\">\n",
       "    <path d=\"M 78.331522 83.16  L 86.337609 83.16  L 86.337609 83.16  L 78.331522 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_8\">\n",
       "    <path d=\"M 86.337609 83.16  L 94.343696 83.16  L 94.343696 83.050229  L 86.337609 83.050229  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_9\">\n",
       "    <path d=\"M 94.343696 83.16  L 102.349783 83.16  L 102.349783 80.031518  L 94.343696 80.031518  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_10\">\n",
       "    <path d=\"M 102.349783 83.16  L 110.35587 83.16  L 110.35587 77.671435  L 102.349783 77.671435  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_11\">\n",
       "    <path d=\"M 110.35587 83.16  L 118.361957 83.16  L 118.361957 51.90262  L 110.35587 51.90262  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_12\">\n",
       "    <path d=\"M 118.361957 83.16  L 126.368043 83.16  L 126.368043 65.486819  L 118.361957 65.486819  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_13\">\n",
       "    <path d=\"M 126.368043 83.16  L 134.37413 83.16  L 134.37413 75.942536  L 126.368043 75.942536  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_14\">\n",
       "    <path d=\"M 134.37413 83.16  L 142.380217 83.16  L 142.380217 81.568316  L 134.37413 81.568316  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_15\">\n",
       "    <path d=\"M 142.380217 83.16  L 150.386304 83.16  L 150.386304 82.419044  L 142.380217 82.419044  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_16\">\n",
       "    <path d=\"M 150.386304 83.16  L 158.392391 83.16  L 158.392391 82.638586  L 150.386304 82.638586  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_17\">\n",
       "    <path d=\"M 158.392391 83.16  L 166.398478 83.16  L 166.398478 82.995343  L 158.392391 82.995343  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_18\">\n",
       "    <path d=\"M 166.398478 83.16  L 174.404565 83.16  L 174.404565 82.9679  L 166.398478 82.9679  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_19\">\n",
       "    <path d=\"M 174.404565 83.16  L 182.410652 83.16  L 182.410652 83.16  L 174.404565 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_20\">\n",
       "    <path d=\"M 182.410652 83.16  L 190.416739 83.16  L 190.416739 83.16  L 182.410652 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_21\">\n",
       "    <path d=\"M 190.416739 83.16  L 198.422826 83.16  L 198.422826 83.105114  L 190.416739 83.105114  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_22\">\n",
       "    <path d=\"M 46.307174 83.16  L 54.313261 83.16  L 54.313261 83.105114  L 46.307174 83.105114  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_23\">\n",
       "    <path d=\"M 54.313261 83.16  L 62.319348 83.16  L 62.319348 83.16  L 54.313261 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_24\">\n",
       "    <path d=\"M 62.319348 83.16  L 70.325435 83.16  L 70.325435 83.16  L 62.319348 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_25\">\n",
       "    <path d=\"M 70.325435 83.16  L 78.331522 83.16  L 78.331522 82.995343  L 70.325435 82.995343  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_26\">\n",
       "    <path d=\"M 78.331522 83.16  L 86.337609 83.16  L 86.337609 82.940457  L 78.331522 82.940457  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_27\">\n",
       "    <path d=\"M 86.337609 83.050229  L 94.343696 83.050229  L 94.343696 80.745031  L 86.337609 80.745031  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_28\">\n",
       "    <path d=\"M 94.343696 80.031518  L 102.349783 80.031518  L 102.349783 57.967484  L 94.343696 57.967484  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_29\">\n",
       "    <path d=\"M 102.349783 77.671435  L 110.35587 77.671435  L 110.35587 3.96  L 102.349783 3.96  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_30\">\n",
       "    <path d=\"M 110.35587 51.90262  L 118.361957 51.90262  L 118.361957 17.928399  L 110.35587 17.928399  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_31\">\n",
       "    <path d=\"M 118.361957 65.486819  L 126.368043 65.486819  L 126.368043 62.029023  L 118.361957 62.029023  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_32\">\n",
       "    <path d=\"M 126.368043 75.942536  L 134.37413 75.942536  L 134.37413 74.927152  L 126.368043 74.927152  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_33\">\n",
       "    <path d=\"M 134.37413 81.568316  L 142.380217 81.568316  L 142.380217 81.266445  L 134.37413 81.266445  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_34\">\n",
       "    <path d=\"M 142.380217 82.419044  L 150.386304 82.419044  L 150.386304 82.419044  L 142.380217 82.419044  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_35\">\n",
       "    <path d=\"M 150.386304 82.638586  L 158.392391 82.638586  L 158.392391 82.611143  L 150.386304 82.611143  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_36\">\n",
       "    <path d=\"M 158.392391 82.995343  L 166.398478 82.995343  L 166.398478 82.995343  L 158.392391 82.995343  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_37\">\n",
       "    <path d=\"M 166.398478 82.9679  L 174.404565 82.9679  L 174.404565 82.9679  L 166.398478 82.9679  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_38\">\n",
       "    <path d=\"M 174.404565 83.16  L 182.410652 83.16  L 182.410652 83.16  L 174.404565 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_39\">\n",
       "    <path d=\"M 182.410652 83.16  L 190.416739 83.16  L 190.416739 83.16  L 182.410652 83.16  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_40\">\n",
       "    <path d=\"M 190.416739 83.105114  L 198.422826 83.105114  L 198.422826 83.105114  L 190.416739 83.105114  z \" clip-path=\"url(#pea571e0913)\" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "   </g>\n",
       "   <g id=\"patch_41\">\n",
       "    <path d=\"M 113.19934 83.9916  L 109.88482 92.3076  L 116.51386 92.3076  z \" style=\"fill: #444443\" />\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_1\">\n",
       "    <g id=\"xtick_1\">\n",
       "     <g id=\"line2d_1\">\n",
       "      <defs>\n",
       "       <path id=\"m6f13beb3a9\" d=\"M 0 0  L 0 9  \" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use xlink:href=\"#m6f13beb3a9\" x=\"46.307174\" y=\"83.16\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_1\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(33.962174 105.88625) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-2212\" d=\"M 3381 1997  L 356 1997  L 356 2522  L 3381 2522  L 3381 1997  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-31\" d=\"M 2384 0  L 1822 0  L 1822 3584  Q 1619 3391 1289 3197  Q 959 3003 697 2906  L 697 3450  Q 1169 3672 1522 3987  Q 1875 4303 2022 4600  L 2384 4600  L 2384 0  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-35\" d=\"M 266 1200  L 856 1250  Q 922 819 1161 601  Q 1400 384 1738 384  Q 2144 384 2425 690  Q 2706 997 2706 1503  Q 2706 1984 2436 2262  Q 2166 2541 1728 2541  Q 1456 2541 1237 2417  Q 1019 2294 894 2097  L 366 2166  L 809 4519  L 3088 4519  L 3088 3981  L 1259 3981  L 1013 2750  Q 1425 3038 1878 3038  Q 2478 3038 2890 2622  Q 3303 2206 3303 1553  Q 3303 931 2941 478  Q 2500 -78 1738 -78  Q 1113 -78 717 272  Q 322 622 266 1200  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-2e\" d=\"M 581 0  L 581 641  L 1222 641  L 1222 0  L 581 0  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-32\" d=\"M 3222 541  L 3222 0  L 194 0  Q 188 203 259 391  Q 375 700 629 1000  Q 884 1300 1366 1694  Q 2113 2306 2375 2664  Q 2638 3022 2638 3341  Q 2638 3675 2398 3904  Q 2159 4134 1775 4134  Q 1369 4134 1125 3890  Q 881 3647 878 3216  L 300 3275  Q 359 3922 746 4261  Q 1134 4600 1788 4600  Q 2447 4600 2831 4234  Q 3216 3869 3216 3328  Q 3216 3053 3103 2787  Q 2991 2522 2730 2228  Q 2469 1934 1863 1422  Q 1356 997 1212 845  Q 1069 694 975 541  L 3222 541  z \" transform=\"scale(0.015625)\" />\n",
       "        <path id=\"ArialMT-33\" d=\"M 269 1209  L 831 1284  Q 928 806 1161 595  Q 1394 384 1728 384  Q 2125 384 2398 659  Q 2672 934 2672 1341  Q 2672 1728 2419 1979  Q 2166 2231 1775 2231  Q 1616 2231 1378 2169  L 1441 2663  Q 1497 2656 1531 2656  Q 1891 2656 2178 2843  Q 2466 3031 2466 3422  Q 2466 3731 2256 3934  Q 2047 4138 1716 4138  Q 1388 4138 1169 3931  Q 950 3725 888 3313  L 325 3413  Q 428 3978 793 4289  Q 1159 4600 1703 4600  Q 2078 4600 2393 4439  Q 2709 4278 2876 4000  Q 3044 3722 3044 3409  Q 3044 3113 2884 2869  Q 2725 2625 2413 2481  Q 2819 2388 3044 2092  Q 3269 1797 3269 1353  Q 3269 753 2831 336  Q 2394 -81 1725 -81  Q 1122 -81 723 278  Q 325 638 269 1209  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-2212\" />\n",
       "       <use xlink:href=\"#ArialMT-31\" x=\"58.398438\" />\n",
       "       <use xlink:href=\"#ArialMT-35\" x=\"114.013672\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"169.628906\" />\n",
       "       <use xlink:href=\"#ArialMT-32\" x=\"197.412109\" />\n",
       "       <use xlink:href=\"#ArialMT-33\" x=\"253.027344\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_2\">\n",
       "     <g id=\"line2d_2\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m6f13beb3a9\" x=\"113.19934\" y=\"83.16\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_2\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(105.414965 105.88625) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-30\" d=\"M 266 2259  Q 266 3072 433 3567  Q 600 4063 929 4331  Q 1259 4600 1759 4600  Q 2128 4600 2406 4451  Q 2684 4303 2865 4023  Q 3047 3744 3150 3342  Q 3253 2941 3253 2259  Q 3253 1453 3087 958  Q 2922 463 2592 192  Q 2263 -78 1759 -78  Q 1097 -78 719 397  Q 266 969 266 2259  z M 844 2259  Q 844 1131 1108 757  Q 1372 384 1759 384  Q 2147 384 2411 759  Q 2675 1134 2675 2259  Q 2675 3391 2411 3762  Q 2147 4134 1753 4134  Q 1366 4134 1134 3806  Q 844 3388 844 2259  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-33\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-30\" x=\"83.398438\" />\n",
       "       <use xlink:href=\"#ArialMT-31\" x=\"139.013672\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"xtick_3\">\n",
       "     <g id=\"line2d_3\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m6f13beb3a9\" x=\"198.422826\" y=\"83.16\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_3\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(188.414076 105.88625) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-36\" d=\"M 3184 3459  L 2625 3416  Q 2550 3747 2413 3897  Q 2184 4138 1850 4138  Q 1581 4138 1378 3988  Q 1113 3794 959 3422  Q 806 3050 800 2363  Q 1003 2672 1297 2822  Q 1591 2972 1913 2972  Q 2475 2972 2870 2558  Q 3266 2144 3266 1488  Q 3266 1056 3080 686  Q 2894 316 2569 119  Q 2244 -78 1831 -78  Q 1128 -78 684 439  Q 241 956 241 2144  Q 241 3472 731 4075  Q 1159 4600 1884 4600  Q 2425 4600 2770 4297  Q 3116 3994 3184 3459  z M 888 1484  Q 888 1194 1011 928  Q 1134 663 1356 523  Q 1578 384 1822 384  Q 2178 384 2434 671  Q 2691 959 2691 1453  Q 2691 1928 2437 2201  Q 2184 2475 1800 2475  Q 1419 2475 1153 2201  Q 888 1928 888 1484  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-32\" />\n",
       "       <use xlink:href=\"#ArialMT-36\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-2e\" x=\"111.230469\" />\n",
       "       <use xlink:href=\"#ArialMT-32\" x=\"139.013672\" />\n",
       "       <use xlink:href=\"#ArialMT-35\" x=\"194.628906\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"text_4\">\n",
       "     \n",
       "     <g style=\"fill: #444443\" transform=\"translate(108.353125 120.065625) scale(0.12 -0.12)\">\n",
       "      <defs>\n",
       "       <path id=\"ArialMT-4c\" d=\"M 469 0  L 469 4581  L 1075 4581  L 1075 541  L 3331 541  L 3331 0  L 469 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-6f\" d=\"M 213 1659  Q 213 2581 725 3025  Q 1153 3394 1769 3394  Q 2453 3394 2887 2945  Q 3322 2497 3322 1706  Q 3322 1066 3130 698  Q 2938 331 2570 128  Q 2203 -75 1769 -75  Q 1072 -75 642 372  Q 213 819 213 1659  z M 791 1659  Q 791 1022 1069 705  Q 1347 388 1769 388  Q 2188 388 2466 706  Q 2744 1025 2744 1678  Q 2744 2294 2464 2611  Q 2184 2928 1769 2928  Q 1347 2928 1069 2612  Q 791 2297 791 1659  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-67\" d=\"M 319 -275  L 866 -356  Q 900 -609 1056 -725  Q 1266 -881 1628 -881  Q 2019 -881 2231 -725  Q 2444 -569 2519 -288  Q 2563 -116 2559 434  Q 2191 0 1641 0  Q 956 0 581 494  Q 206 988 206 1678  Q 206 2153 378 2554  Q 550 2956 876 3175  Q 1203 3394 1644 3394  Q 2231 3394 2613 2919  L 2613 3319  L 3131 3319  L 3131 450  Q 3131 -325 2973 -648  Q 2816 -972 2473 -1159  Q 2131 -1347 1631 -1347  Q 1038 -1347 672 -1080  Q 306 -813 319 -275  z M 784 1719  Q 784 1066 1043 766  Q 1303 466 1694 466  Q 2081 466 2343 764  Q 2606 1063 2606 1700  Q 2606 2309 2336 2618  Q 2066 2928 1684 2928  Q 1309 2928 1046 2623  Q 784 2319 784 1719  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-50\" d=\"M 494 0  L 494 4581  L 2222 4581  Q 2678 4581 2919 4538  Q 3256 4481 3484 4323  Q 3713 4166 3852 3881  Q 3991 3597 3991 3256  Q 3991 2672 3619 2267  Q 3247 1863 2275 1863  L 1100 1863  L 1100 0  L 494 0  z M 1100 2403  L 2284 2403  Q 2872 2403 3119 2622  Q 3366 2841 3366 3238  Q 3366 3525 3220 3729  Q 3075 3934 2838 4000  Q 2684 4041 2272 4041  L 1100 4041  L 1100 2403  z \" transform=\"scale(0.015625)\" />\n",
       "      </defs>\n",
       "      <use xlink:href=\"#ArialMT-4c\" />\n",
       "      <use xlink:href=\"#ArialMT-6f\" x=\"55.615234\" />\n",
       "      <use xlink:href=\"#ArialMT-67\" x=\"111.230469\" />\n",
       "      <use xlink:href=\"#ArialMT-50\" x=\"166.845703\" />\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"matplotlib.axis_2\">\n",
       "    <g id=\"ytick_1\">\n",
       "     <g id=\"line2d_4\">\n",
       "      <defs>\n",
       "       <path id=\"m69603bcab7\" d=\"M 0 0  L -9 0  \" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </defs>\n",
       "      <g>\n",
       "       <use xlink:href=\"#m69603bcab7\" x=\"30.295\" y=\"83.16\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_5\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(13.34625 86.023125) scale(0.08 -0.08)\">\n",
       "       <use xlink:href=\"#ArialMT-30\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"ytick_2\">\n",
       "     <g id=\"line2d_5\">\n",
       "      <g>\n",
       "       <use xlink:href=\"#m69603bcab7\" x=\"30.295\" y=\"3.96\" style=\"stroke: #000000; stroke-width: 0.3\" />\n",
       "      </g>\n",
       "     </g>\n",
       "     <g id=\"text_6\">\n",
       "      \n",
       "      <g style=\"fill: #444443\" transform=\"translate(0 6.823125) scale(0.08 -0.08)\">\n",
       "       <defs>\n",
       "        <path id=\"ArialMT-38\" d=\"M 1131 2484  Q 781 2613 612 2850  Q 444 3088 444 3419  Q 444 3919 803 4259  Q 1163 4600 1759 4600  Q 2359 4600 2725 4251  Q 3091 3903 3091 3403  Q 3091 3084 2923 2848  Q 2756 2613 2416 2484  Q 2838 2347 3058 2040  Q 3278 1734 3278 1309  Q 3278 722 2862 322  Q 2447 -78 1769 -78  Q 1091 -78 675 323  Q 259 725 259 1325  Q 259 1772 486 2073  Q 713 2375 1131 2484  z M 1019 3438  Q 1019 3113 1228 2906  Q 1438 2700 1772 2700  Q 2097 2700 2305 2904  Q 2513 3109 2513 3406  Q 2513 3716 2298 3927  Q 2084 4138 1766 4138  Q 1444 4138 1231 3931  Q 1019 3725 1019 3438  z M 838 1322  Q 838 1081 952 856  Q 1066 631 1291 507  Q 1516 384 1775 384  Q 2178 384 2440 643  Q 2703 903 2703 1303  Q 2703 1709 2433 1975  Q 2163 2241 1756 2241  Q 1359 2241 1098 1978  Q 838 1716 838 1322  z \" transform=\"scale(0.015625)\" />\n",
       "       </defs>\n",
       "       <use xlink:href=\"#ArialMT-32\" />\n",
       "       <use xlink:href=\"#ArialMT-38\" x=\"55.615234\" />\n",
       "       <use xlink:href=\"#ArialMT-38\" x=\"111.230469\" />\n",
       "       <use xlink:href=\"#ArialMT-36\" x=\"166.845703\" />\n",
       "      </g>\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "   <g id=\"patch_42\">\n",
       "    <path d=\"M 30.295 83.16  L 30.295 0  \" style=\"fill: none; stroke: #444443; stroke-width: 0.3; stroke-linejoin: miter; stroke-linecap: square\" />\n",
       "   </g>\n",
       "   <g id=\"patch_43\">\n",
       "    <path d=\"M 30.295 83.16  L 214.435 83.16  \" style=\"fill: none; stroke: #444443; stroke-width: 0.3; stroke-linejoin: miter; stroke-linecap: square\" />\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       " <defs>\n",
       "  <clipPath id=\"pea571e0913\">\n",
       "   <rect x=\"30.295\" y=\"0\" width=\"184.14\" height=\"83.16\" />\n",
       "  </clipPath>\n",
       " </defs>\n",
       "</svg></g>\n",
       "\n",
       "<g id=\"edge7\" class=\"edge\">\n",
       "<title>node0-&gt;node1</title>\n",
       "<path fill=\"none\" stroke=\"#444443\" stroke-width=\"0.3\" d=\"M149.43,-219.04C142.52,-209.57 135.29,-199.68 128.45,-190.3\" />\n",
       "<polygon fill=\"#444443\" stroke=\"#444443\" stroke-width=\"0.3\" points=\"129.7,-189.65 126.21,-187.24 127.44,-191.3 129.7,-189.65\" />\n",
       "<text text-anchor=\"start\" x=\"143\" y=\"-197.45\" font-family=\"Arial\" font-size=\"14.00\" fill=\"#444443\"> &#160;&#8804;</text>\n",
       "</g>\n",
       "\n",
       "<g id=\"edge8\" class=\"edge\">\n",
       "<title>node0-&gt;node4</title>\n",
       "<path fill=\"none\" stroke=\"#444443\" stroke-width=\"0.3\" d=\"M221.36,-219.04C232.1,-204.65 243.58,-189.27 253.3,-176.25\" />\n",
       "<polygon fill=\"#444443\" stroke=\"#444443\" stroke-width=\"0.3\" points=\"254.19,-177.4 255.46,-173.35 251.95,-175.72 254.19,-177.4\" />\n",
       "<text text-anchor=\"start\" x=\"240\" y=\"-197.45\" font-family=\"Arial\" font-size=\"14.00\" fill=\"#444443\"> &#160;&gt;</text>\n",
       "</g>\n",
       "\n",
       "\n",
       "\n",
       "<g id=\"node8\" class=\"node\">\n",
       "<title>legend</title>\n",
       "<polygon fill=\"none\" stroke=\"black\" stroke-width=\"0\" points=\"353.66,-303.91 276.34,-303.91 276.34,-233.59 353.66,-233.59 353.66,-303.91\" />\n",
       "<svg width=\"73px\" height=\"66px\" viewBox=\"0 0 97.876563 87.609375\" version=\"1.1\" preserveAspectRatio=\"xMinYMin meet\" x=\"278.5\" y=\"-301.75\">\n",
       " <metadata>\n",
       "  <rdf:RDF>\n",
       "   <ns2:Work>\n",
       "    <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" />\n",
       "    <dc:date>2024-04-28T21:43:20.632107</dc:date>\n",
       "    <dc:format>image/svg+xml</dc:format>\n",
       "    <dc:creator>\n",
       "     <ns2:Agent>\n",
       "      <dc:title>Matplotlib v3.7.1, https://matplotlib.org/</dc:title>\n",
       "     </ns2:Agent>\n",
       "    </dc:creator>\n",
       "   </ns2:Work>\n",
       "  </rdf:RDF>\n",
       " </metadata>\n",
       " <defs>\n",
       "  <style type=\"text/css\">*{stroke-linejoin: round; stroke-linecap: butt}</style>\n",
       " </defs>\n",
       " <g id=\"figure_1\">\n",
       "  <g id=\"patch_1\">\n",
       "   <path d=\"M 0 87.609375  L 97.876563 87.609375  L 97.876563 0  L 0 0  z \" style=\"fill: #ffffff\" />\n",
       "  </g>\n",
       "  <g id=\"axes_1\">\n",
       "   <g id=\"legend_1\">\n",
       "    <g id=\"patch_2\">\n",
       "     <path d=\"M 3.3 87.609375  L 86.326563 87.609375  Q 89.626563 87.609375 89.626563 84.309375  L 89.626563 11.55  Q 89.626563 8.25 86.326563 8.25  L 3.3 8.25  Q 0 8.25 0 11.55  L 0 84.309375  Q 0 87.609375 3.3 87.609375  z \" style=\"fill: #ffffff; opacity: 0.8; stroke: #444443; stroke-width: 0.5; stroke-linejoin: miter\" />\n",
       "    </g>\n",
       "    <g id=\"text_1\">\n",
       "     \n",
       "     <g style=\"fill: #444443\" transform=\"translate(22.314844 28.729687) scale(0.1 -0.1)\">\n",
       "      <defs>\n",
       "       <path id=\"Arial-BoldMT-53\" d=\"M 231 1491  L 1131 1578  Q 1213 1125 1461 912  Q 1709 700 2131 700  Q 2578 700 2804 889  Q 3031 1078 3031 1331  Q 3031 1494 2936 1608  Q 2841 1722 2603 1806  Q 2441 1863 1863 2006  Q 1119 2191 819 2459  Q 397 2838 397 3381  Q 397 3731 595 4036  Q 794 4341 1167 4500  Q 1541 4659 2069 4659  Q 2931 4659 3367 4281  Q 3803 3903 3825 3272  L 2900 3231  Q 2841 3584 2645 3739  Q 2450 3894 2059 3894  Q 1656 3894 1428 3728  Q 1281 3622 1281 3444  Q 1281 3281 1419 3166  Q 1594 3019 2269 2859  Q 2944 2700 3267 2529  Q 3591 2359 3773 2064  Q 3956 1769 3956 1334  Q 3956 941 3737 597  Q 3519 253 3119 86  Q 2719 -81 2122 -81  Q 1253 -81 787 320  Q 322 722 231 1491  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"Arial-BoldMT-6f\" d=\"M 256 1706  Q 256 2144 472 2553  Q 688 2963 1083 3178  Q 1478 3394 1966 3394  Q 2719 3394 3200 2905  Q 3681 2416 3681 1669  Q 3681 916 3195 420  Q 2709 -75 1972 -75  Q 1516 -75 1102 131  Q 688 338 472 736  Q 256 1134 256 1706  z M 1156 1659  Q 1156 1166 1390 903  Q 1625 641 1969 641  Q 2313 641 2545 903  Q 2778 1166 2778 1666  Q 2778 2153 2545 2415  Q 2313 2678 1969 2678  Q 1625 2678 1390 2415  Q 1156 2153 1156 1659  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"Arial-BoldMT-6c\" d=\"M 459 0  L 459 4581  L 1338 4581  L 1338 0  L 459 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"Arial-BoldMT-75\" d=\"M 2644 0  L 2644 497  Q 2463 231 2167 78  Q 1872 -75 1544 -75  Q 1209 -75 943 72  Q 678 219 559 484  Q 441 750 441 1219  L 441 3319  L 1319 3319  L 1319 1794  Q 1319 1094 1367 936  Q 1416 778 1544 686  Q 1672 594 1869 594  Q 2094 594 2272 717  Q 2450 841 2515 1023  Q 2581 1206 2581 1919  L 2581 3319  L 3459 3319  L 3459 0  L 2644 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"Arial-BoldMT-62\" d=\"M 422 0  L 422 4581  L 1300 4581  L 1300 2931  Q 1706 3394 2263 3394  Q 2869 3394 3266 2955  Q 3663 2516 3663 1694  Q 3663 844 3258 384  Q 2853 -75 2275 -75  Q 1991 -75 1714 67  Q 1438 209 1238 488  L 1238 0  L 422 0  z M 1294 1731  Q 1294 1216 1456 969  Q 1684 619 2063 619  Q 2353 619 2558 867  Q 2763 1116 2763 1650  Q 2763 2219 2556 2470  Q 2350 2722 2028 2722  Q 1713 2722 1503 2476  Q 1294 2231 1294 1731  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"Arial-BoldMT-69\" d=\"M 459 3769  L 459 4581  L 1338 4581  L 1338 3769  L 459 3769  z M 459 0  L 459 3319  L 1338 3319  L 1338 0  L 459 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"Arial-BoldMT-74\" d=\"M 1981 3319  L 1981 2619  L 1381 2619  L 1381 1281  Q 1381 875 1398 808  Q 1416 741 1477 697  Q 1538 653 1625 653  Q 1747 653 1978 738  L 2053 56  Q 1747 -75 1359 -75  Q 1122 -75 931 4  Q 741 84 652 211  Q 563 338 528 553  Q 500 706 500 1172  L 500 2619  L 97 2619  L 97 3319  L 500 3319  L 500 3978  L 1381 4491  L 1381 3319  L 1981 3319  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"Arial-BoldMT-79\" d=\"M 44 3319  L 978 3319  L 1772 963  L 2547 3319  L 3456 3319  L 2284 125  L 2075 -453  Q 1959 -744 1854 -897  Q 1750 -1050 1614 -1145  Q 1478 -1241 1279 -1294  Q 1081 -1347 831 -1347  Q 578 -1347 334 -1294  L 256 -606  Q 463 -647 628 -647  Q 934 -647 1081 -467  Q 1228 -288 1306 -9  L 44 3319  z \" transform=\"scale(0.015625)\" />\n",
       "      </defs>\n",
       "      <use xlink:href=\"#Arial-BoldMT-53\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-6f\" x=\"66.699219\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-6c\" x=\"127.783203\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-75\" x=\"155.566406\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-62\" x=\"216.650391\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-69\" x=\"277.734375\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-6c\" x=\"305.517578\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-69\" x=\"333.300781\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-74\" x=\"361.083984\" />\n",
       "      <use xlink:href=\"#Arial-BoldMT-79\" x=\"394.384766\" />\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"patch_3\">\n",
       "     <path d=\"M 13.2 50.634375  L 46.2 50.634375  L 46.2 39.084375  L 13.2 39.084375  z \" style=\"fill: #fefebb; stroke: #444443; stroke-width: 0.4; stroke-linejoin: miter\" />\n",
       "    </g>\n",
       "    <g id=\"text_2\">\n",
       "     \n",
       "     <g style=\"fill: #444443\" transform=\"translate(51.975 50.634375) scale(0.1 -0.1)\">\n",
       "      <defs>\n",
       "       <path id=\"ArialMT-46\" d=\"M 525 0  L 525 4581  L 3616 4581  L 3616 4041  L 1131 4041  L 1131 2622  L 3281 2622  L 3281 2081  L 1131 2081  L 1131 0  L 525 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-61\" d=\"M 2588 409  Q 2275 144 1986 34  Q 1697 -75 1366 -75  Q 819 -75 525 192  Q 231 459 231 875  Q 231 1119 342 1320  Q 453 1522 633 1644  Q 813 1766 1038 1828  Q 1203 1872 1538 1913  Q 2219 1994 2541 2106  Q 2544 2222 2544 2253  Q 2544 2597 2384 2738  Q 2169 2928 1744 2928  Q 1347 2928 1158 2789  Q 969 2650 878 2297  L 328 2372  Q 403 2725 575 2942  Q 747 3159 1072 3276  Q 1397 3394 1825 3394  Q 2250 3394 2515 3294  Q 2781 3194 2906 3042  Q 3031 2891 3081 2659  Q 3109 2516 3109 2141  L 3109 1391  Q 3109 606 3145 398  Q 3181 191 3288 0  L 2700 0  Q 2613 175 2588 409  z M 2541 1666  Q 2234 1541 1622 1453  Q 1275 1403 1131 1340  Q 988 1278 909 1158  Q 831 1038 831 891  Q 831 666 1001 516  Q 1172 366 1500 366  Q 1825 366 2078 508  Q 2331 650 2450 897  Q 2541 1088 2541 1459  L 2541 1666  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-6c\" d=\"M 409 0  L 409 4581  L 972 4581  L 972 0  L 409 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-73\" d=\"M 197 991  L 753 1078  Q 800 744 1014 566  Q 1228 388 1613 388  Q 2000 388 2187 545  Q 2375 703 2375 916  Q 2375 1106 2209 1216  Q 2094 1291 1634 1406  Q 1016 1563 777 1677  Q 538 1791 414 1992  Q 291 2194 291 2438  Q 291 2659 392 2848  Q 494 3038 669 3163  Q 800 3259 1026 3326  Q 1253 3394 1513 3394  Q 1903 3394 2198 3281  Q 2494 3169 2634 2976  Q 2775 2784 2828 2463  L 2278 2388  Q 2241 2644 2061 2787  Q 1881 2931 1553 2931  Q 1166 2931 1000 2803  Q 834 2675 834 2503  Q 834 2394 903 2306  Q 972 2216 1119 2156  Q 1203 2125 1616 2013  Q 2213 1853 2448 1751  Q 2684 1650 2818 1456  Q 2953 1263 2953 975  Q 2953 694 2789 445  Q 2625 197 2315 61  Q 2006 -75 1616 -75  Q 969 -75 630 194  Q 291 463 197 991  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-65\" d=\"M 2694 1069  L 3275 997  Q 3138 488 2766 206  Q 2394 -75 1816 -75  Q 1088 -75 661 373  Q 234 822 234 1631  Q 234 2469 665 2931  Q 1097 3394 1784 3394  Q 2450 3394 2872 2941  Q 3294 2488 3294 1666  Q 3294 1616 3291 1516  L 816 1516  Q 847 969 1125 678  Q 1403 388 1819 388  Q 2128 388 2347 550  Q 2566 713 2694 1069  z M 847 1978  L 2700 1978  Q 2663 2397 2488 2606  Q 2219 2931 1791 2931  Q 1403 2931 1139 2672  Q 875 2413 847 1978  z \" transform=\"scale(0.015625)\" />\n",
       "      </defs>\n",
       "      <use xlink:href=\"#ArialMT-46\" />\n",
       "      <use xlink:href=\"#ArialMT-61\" x=\"61.083984\" />\n",
       "      <use xlink:href=\"#ArialMT-6c\" x=\"116.699219\" />\n",
       "      <use xlink:href=\"#ArialMT-73\" x=\"138.916016\" />\n",
       "      <use xlink:href=\"#ArialMT-65\" x=\"188.916016\" />\n",
       "     </g>\n",
       "    </g>\n",
       "    <g id=\"patch_4\">\n",
       "     <path d=\"M 13.2 72.421875  L 46.2 72.421875  L 46.2 60.871875  L 13.2 60.871875  z \" style=\"fill: #a1dab4; stroke: #444443; stroke-width: 0.4; stroke-linejoin: miter\" />\n",
       "    </g>\n",
       "    <g id=\"text_3\">\n",
       "     \n",
       "     <g style=\"fill: #444443\" transform=\"translate(51.975 72.421875) scale(0.1 -0.1)\">\n",
       "      <defs>\n",
       "       <path id=\"ArialMT-54\" d=\"M 1659 0  L 1659 4041  L 150 4041  L 150 4581  L 3781 4581  L 3781 4041  L 2266 4041  L 2266 0  L 1659 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-72\" d=\"M 416 0  L 416 3319  L 922 3319  L 922 2816  Q 1116 3169 1280 3281  Q 1444 3394 1641 3394  Q 1925 3394 2219 3213  L 2025 2691  Q 1819 2813 1613 2813  Q 1428 2813 1281 2702  Q 1134 2591 1072 2394  Q 978 2094 978 1738  L 978 0  L 416 0  z \" transform=\"scale(0.015625)\" />\n",
       "       <path id=\"ArialMT-75\" d=\"M 2597 0  L 2597 488  Q 2209 -75 1544 -75  Q 1250 -75 995 37  Q 741 150 617 320  Q 494 491 444 738  Q 409 903 409 1263  L 409 3319  L 972 3319  L 972 1478  Q 972 1038 1006 884  Q 1059 663 1231 536  Q 1403 409 1656 409  Q 1909 409 2131 539  Q 2353 669 2445 892  Q 2538 1116 2538 1541  L 2538 3319  L 3100 3319  L 3100 0  L 2597 0  z \" transform=\"scale(0.015625)\" />\n",
       "      </defs>\n",
       "      <use xlink:href=\"#ArialMT-54\" />\n",
       "      <use xlink:href=\"#ArialMT-72\" x=\"57.333984\" />\n",
       "      <use xlink:href=\"#ArialMT-75\" x=\"90.634766\" />\n",
       "      <use xlink:href=\"#ArialMT-65\" x=\"146.25\" />\n",
       "     </g>\n",
       "    </g>\n",
       "   </g>\n",
       "  </g>\n",
       " </g>\n",
       "</svg></g>\n",
       "</g>\n",
       "</svg>"
      ],
      "text/plain": [
       "<dtreeviz.utils.DTreeVizRender at 0x2a317ed50>"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "viz = dtreeviz.model(cls, train_X, train_y, feature_names = desc_cols,\n",
    "                     target_name = \"Solubility\",class_names=[\"False\",\"True\"])\n",
    "viz.view(scale = 2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "concerned-warrior",
   "metadata": {
    "id": "concerned-warrior"
   },
   "source": [
    "As a final check we're going to see if we can fit a model to incorrect data.  If we shuffle the y values, we shouldn't be able to get a good model.\n",
    "\n",
    "Shuffle the y-variable as a sanity check"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "id": "painful-median",
   "metadata": {
    "id": "painful-median"
   },
   "outputs": [],
   "source": [
    "sol_df['fake'] = sol_df.IsSol.sample(frac=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "functional-premises",
   "metadata": {
    "id": "functional-premises"
   },
   "source": [
    "Split the dataframe into training a test sets."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "id": "early-invite",
   "metadata": {
    "id": "early-invite"
   },
   "outputs": [],
   "source": [
    "fake_train, fake_test = train_test_split(sol_df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "immune-ambassador",
   "metadata": {
    "id": "immune-ambassador"
   },
   "source": [
    "Split the training and test sets into X and y variables"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "numerical-blake",
   "metadata": {
    "id": "numerical-blake"
   },
   "outputs": [],
   "source": [
    "fake_train_X = fake_train[desc_cols]\n",
    "fake_train_y = fake_train.fake\n",
    "fake_test_X = fake_test[desc_cols]\n",
    "fake_test_y = fake_test.fake"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "verbal-permission",
   "metadata": {
    "id": "verbal-permission"
   },
   "source": [
    "Build a classifer"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "id": "explicit-moscow",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 75
    },
    "id": "explicit-moscow",
    "outputId": "acd72d7c-2de4-45fc-b84e-a6d96121fb93"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-2 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-2 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-2 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-2 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-2 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-2 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-2 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-2 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-2 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-2 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-2 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-2 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-2 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-2 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-2 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-2\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>DecisionTreeClassifier(max_depth=2)</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-2\" type=\"checkbox\" checked><label for=\"sk-estimator-id-2\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;DecisionTreeClassifier<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.4/modules/generated/sklearn.tree.DecisionTreeClassifier.html\">?<span>Documentation for DecisionTreeClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>DecisionTreeClassifier(max_depth=2)</pre></div> </div></div></div></div>"
      ],
      "text/plain": [
       "DecisionTreeClassifier(max_depth=2)"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "fake_cls = DecisionTreeClassifier(max_depth=2)\n",
    "fake_cls.fit(fake_train_X,fake_train_y)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "elegant-husband",
   "metadata": {
    "id": "elegant-husband"
   },
   "source": [
    "Generate the predictions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "id": "celtic-adelaide",
   "metadata": {
    "id": "celtic-adelaide"
   },
   "outputs": [],
   "source": [
    "fake_pred = fake_cls.predict(fake_test_X)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "backed-syndicate",
   "metadata": {
    "id": "backed-syndicate"
   },
   "source": [
    "Calculate the AUC score"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "id": "desperate-tribute",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "desperate-tribute",
    "outputId": "d0a55576-8bc7-49b9-9ab3-e897a97d3ce7"
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.4971655199863535"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "roc_auc_score(fake_test_y,pred)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "vocational-diabetes",
   "metadata": {
    "id": "vocational-diabetes"
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.11.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
